笔记内容来自:
链接: link
DCL英文全称是:Data Control Language (数据控制语言),用来管理数据库用户、控制数据库的访问权限。
- 查询用户
USE mysql;
SELECT * FROM user;
- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
注意:‘主机名’ 改为 ‘%’ 意味着任意主机都可以访问。
- 修改用户密码
ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
- 删除用户
DROP USER '用户名'@'主机名';
MySQL中定义了很多种权限,但是常用的就以下几种:
- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
示例:查询heima数据库的权限
结果为:
- 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
示例:给heima授予数据库itcast的所有表的权限
结果为:
在命令行中重新进入heima,可以看到已经获得了数据库itcast中所有表(itcast只有一张表emp)的权限。
- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
示例:撤销heima对于数据库itcast中所有表的权限
结果为:
在命令行中重新进入heima,可以看到权限已经被撤销。
注意:
- 多个权限之间,使用逗号分隔;
- 授权时,数据库名和表名可以使用 * 进行通配,代表所有。