【MySQL】MySQL里的用户账户和角色是什么?如何管理? |
您所在的位置:网站首页 › mysql查询用户权限命令是什么 › 【MySQL】MySQL里的用户账户和角色是什么?如何管理? |
用户(user)验证和授权创建用户账户连接服务器查看用户账户设置
角色(role)创建角色
操作用户帐户和角色重命名删除
感谢 💖
用户(user)
在MySQL中,用户是数据库访问的主要实体。每个用户都有自己的用户名和密码,用于验证和授权。通过合理的用户管理,可以控制谁能够访问数据库以及访问数据库的权限。 验证和授权在连接到MySQL 服务器并执行查询时,会根据登录的用户来进行身份验证和活动授权。 验证。这一步是在连接层进行。是访问控制的第一个阶段。每次连接服务器的时候必须成功验证身份,否则无法连接,客户机将断开连接。授权。这一步在SQL层进行。即在需要执行sql语句的时候需要验证该用户的权限。MySQL将确定这个用户要执行什么操作,是否有执行此操作所需的恰当权限。 创建用户账户MySQL会为每个用户帐户提供一个用户和主机。 帐户名称的格式为 'username'@'hostname'。其中单引号可以省略,但若是果用户名和主机名包含特殊字符(如破折号),则必须使用单引号将它们括起来。 示例: root@localhostreports_app@‘server-1’‘%^&’@192.168.5.3主机名称可以是我们自己设置的主机域名,也可以是IP地址。可以使用通配符(%匹配多字符而 _匹配单字符)。比如主机名为名’%’ 的帐户可以从任何主机连接。同时,如果在创建用户时未指定主机名,则 '%’ 为默认值。 注意:这里的主机名代表着用户从哪个客户机登录服务器。 我们可以使用用 CREATE USER...IDENTIFIED BY 语句建立一个帐户。 下面这个示例表示我们创建一个名为 webuser 的用户,这个用户将从 localhost 本机连接服务器,并且使用口令Abc123。 CREATE USER webuser@localhost IDENTIFIED BY 'Abc123'; 连接服务器我们使用 mysql -u username -h servername -ppassword 来连接服务器。 注意:这里必须提供要连接的服务器的主机名。 如果不指定服务器主机名,那么默认是localhost。 查看用户账户设置我们可以查看mysql数据库中的user表。 下面这条语句将查看表中user、host、authentication_string这三个字段,分别代表着用户名、主机名、已经加密的口令。 注意:这里提到的主机名是用户所在的客户机的主机名,不是前面在连接时提到的服务器主机名。 SELECT user, host, authentication_string FROM mysql.user; 角色(role)角色是一组权限的集合,它们可以用来简化权限管理并提高安全性。通过将权限分配给角色,然后将角色分配给用户,可以更方便地管理大量用户和权限设置。 在MySQL中,角色就类似于用户,因为角色也存储在mysql.user表中,角色名也由角色的名称和主机组成(‘rolename’@‘hostname’)。但是不同之处在于我们无法使用角色身份登录。 创建角色我们可以使用CREATE ROLE 语句创建一个或多个角色。角色是被锁定的,也就是说无法登录,同时在创建的时候也没有口令。 比如下面这条语句将创建两个角色:r_admin 和 r_dev@localhost。 CREATE ROLE r_admin, r_dev@localhost;和创建用户一样,如果省略主机名,默认为 '%‘。 操作用户帐户和角色 重命名我们可以使用 RENAME USER 语句重命名用户帐户和角色。 示例: RENAME USER consultant@laptop3 TO james@laptop3 , r_admin TO r_super;可以只更改用户名或主机名部分,也可以同时更改。 删除删除用户账户用 DROP USER 删除角色用 DROP ROLE 示例: DROP USER james@laptop3; DROP ROLE r_super, r_dev@localhost;删除用户账户或角色意味着: 删除帐户或角色撤销现有帐户或角色的所有权限从存在的任何授权表中删除帐户的所有记录 感谢 💖好啦,这次的分享就到这里,感谢大家看到这里🤞 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |