系列六、DCL
一、DCL
1.1、概述
????????DCL的英文全称是:Data Control Language,中文意思为:?数据控制语言,是用来管理数据库的用户以及控制用户的权限的。
1.2、管理用户
1.2.1、查询用户
select * from mysql.user;
说明:
????????其中 Host代表当前用户访问的主机, 如果为localhost, 仅代表只能够在当前本机访问,是不可以远程访问的。 User代表的是访问该数据库的用户名。在MySQL中需要通过Host和User来唯一标识一个用户。
1.2.2、创建用户
语法:CREATE USER '<username>'@'<IP>' IDENTIFIED BY '<password>';
案例:CREATE USER 'scott'@'192.168.173.232' IDENTIFIED BY '123456';
注意事项:使用上述语句创建的用户,连最基本的连接权限都没有,需要为其分配权限才能使用!
1.2.3、修改密码
语法:ALTER USER '<username>'@'<IP>' IDENTIFIED WITH mysql_native_password BY '<新密码>' ;
案例:ALTER USER 'scott'@'192.168.173.232' IDENTIFIED WITH mysql_native_password BY 'tiger123456' ;
1.2.4、删除用户
语法:drop user '<username>'@'<IP>';
案例:drop user 'scott'@'192.168.173.232';
1.3、权限控制
1.3.1、MySQL中的权限概览
1.3.2、查询用户权限
语法:SHOW GRANTS FOR?'<username>'@'IP'?;
案例:在演示用户的权限之前,我们先来创建一个用户,使用上面的sql脚本创建一个scott用户,看其有什么权限
(1)创建用户:CREATE USER 'scott'@'192.168.173.232' IDENTIFIED BY '123456';
(2)查询用户权限:show GRANTS for 'scott'@'%';
1.3.3、授予用户权限
语法:GRANT?权限列表?ON?数据库名.表名?TO?'<username>'@'<IP>';
案例:
(1)授予select权限:grant select on vhr.employee to 'scott'@'%';
(2)查询用户权限
(3)授予all的权限
(4)授予权限后再次连接可以连接成功
1.3.4、回收用户权限
语法:REVOKE?权限列表?ON?数据库名.表名?FROM?'<username>'@'<IP>';
案例:回收scott用户的update、delete权限:revoke DELETE,UPDATE on vhr.employee from 'scott'@'%';
1.3.5、注意事项
????????授予用户权限 or 回收用户权限时,如果涉及到的权限有多个,多个权限之间使用英文逗号进行分割;例如:revoke DELETE,UPDATE on vhr.employee from 'scott'@'%';
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!