DCL:Data Control Language 数据控制语言,用于管理数据库该用户、控制数据库的访问权限。
- 查询用户
- use mysql; -- mysql,为系统数据库
- select * from user;
- 创建用户
- create user '用户名'@'主机名' identified by '密码'
- 修改用户密码
- alter user '用户名'@'主机名' idengified with mysql_native_password by '新密码';
- 删除用户
- drop user '用户名'@'主机名'
注:
- 创建用户时,主机名可使用%通配,表示任意主机都可访问;
- 该操作一般多为DBA使用,开发人员较少使用;
示例如下:
-- ----------------------------用户操作相关-----------------------------
use mysql; select * from user; -- show grants for 'root'@'%'; -- 创建用户 create user 'kun'@'192.168.1.110' identified by '1'; -- 如果想选择任意主机地址 -- create user '用户名'@'%' identified by '密码'; -- 修改用户密码 alter user 'kun'@'192.168.1.110' identified with mysql_native_password by '123'; -- 删除用户 drop user 'kun'@'192.168.1.110'; -- 选择任意主机地址 create user 'kun'@'%' identified by '1'; select * from user;
DCL 权限控制
- 查询权限
- show grants for '用户名'@'主机名';
- show grants for '用户名'@'%'; —— % 表示所有主机
- 授予权限
- grant 授权列表 on 数据库名 表名 to '用户名'@'主机名';
- 注,授权所有用户可使用--show grants for *.*
- 撤销权限
- revoke 授权列表 on 数据库名 表名 from '用户名'@'主机名'; ——撤销某个用户对某个数据库的某张表的权限
示例如下:
-- ----------------------------权限操作相关----------------------------- -- 1.查询权限 show grants for 'kun'@'%'; -- 返回结果:GRANT USAGE ON *.* TO `kun`@`%` -- 2.授予权限 grant all on rfautotest.remarkinfo to 'kun'@'%'; -- 授予访问rfautotest.remarkinfo show grants for 'kun'@'%' /* return GRANT USAGE ON *.* TO `kun`@`%` GRANT ALL PRIVILEGES ON `rfautotest`.`remarkinfo` TO `kun`@`%` */ grant all on rfautotest.* to 'kun'@'%'; -- 授予访问rfautotest 数据库操作权限 show grants for 'kun'@'%' /* return GRANT USAGE ON *.* TO `kun`@`%` GRANT ALL PRIVILEGES ON `rfautotest`.* TO `kun`@`%` GRANT ALL PRIVILEGES ON `rfautotest`.`remarkinfo` TO `kun`@`%` */ -- 3.撤销权限 -- revoke 授权列表 on 数据库名 表名 from '用户名'@'主机名'; revoke all on rfautotest.remarkinfo from 'kun'@'%'; revoke all on rfautotest.* from 'kun'@'%'; -- revoke all on *.* from 'kun'@'%'; -- *.* 表示所有权限 show grants for 'kun'@'%' -- 返回结果:GRANT USAGE ON *.* TO `kun`@`%`
博客内容主要用于日常学习记录,内容比较随意,如有问题,还需谅解!!!