DCL 全称 Data Control Language。数据控制语言,用来创建数据库用户、控制数据库的访问权限。
1、用户管理
1.1、查询用户
select * from user;
1.2、创建用户
只能在指定IP地址的主机上访问:create user '用户名'@'IP地址' identified by '密码';
可以在任意IP地址的主机上访问:create user '用户名'@'%' identified by '密码';
注:新用户创建后,只能访问MySQL服务,其它相关权限需要另外授权。
1.3、删除用户
drop user '用户名'@'IP地址';
1.4、修改密码
alter user '用户名'@'IP地址' identified with mysql_native_password by '新密码';
2、权限控制
授予/撤销权限时,多个权限可使用逗号分隔,数据库名和表名可以使用 * 进行通配,代表所有。
常用权限列表:
- 所有权限:all 或 all privileges
- 查询数据:select
- 插入数据:insert
- 修改数据:update
- 删除数据:delete
- 创建数据库/表:create
- 修改表:alter
- 删除数据库/表/试图:drop
2.1、查询权限
show grants for '用户名'@'IP地址';
2.2、授予权限
grant 权限列表 on 数据库名.表名 TO '用户名'@'IP地址';
2.3、撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'IP地址';