一、介绍
DCL:Data Control Language(数据控制语言),用来管理数据库用户,控制数据库的访问,权限。
二、用户管理
1、查询用户
语法:
1、use mysql;
2、select * from user;
默认只有四个账户。
2、创建用户
语法:create user '用户名'@'主机名' identified by '密码';
houlei这个就是新创建的,但是只能在本机上访问,因为主机名这里写的是localhost,如果换成通配符"%"就可以在所有主机上访问
示例:create user 'Se7eN'@'%' identified by '123456';
3、修改用户密码
alter user '用户名'@'主机名' identified with mysql_native_password by '新密码';
4、删除用户
drop user '用户名'@'主机名'
示例:
5、注意
* 主机名可以使用%通配
* 这类SQL开发人员操作较少,主要是DBA(Database Administrator 数据库管理员)使用
三、权限控制
1、常用权限及说明
-
- all/all privileges: 所有权限
- select: 查询数据权限
- insert: 插入数据权限
- update:修改数据权限
- delete:删除数据的权限
- alter:修改表的权限
- drop:删除数据库/表/视图
- create:创建数据库/表的权限
2、查询权限
语法:show grants for '用户名'@'主机名';
3、授予权限
语法:grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
示例:
为其添加mysql_test数据库中的table_test表的权限
4、撤销权限
语法:revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
示例:撤销Se7eN账号的,mysql_test数据库中table_test表的所有权限
5、注意:
* 所有权限的设置及撤销的时候,使用的是root账号。
* 多个权限之间,使用逗号
* 授权时,数据库名和表名可以使用*进行通配,代表所有