MYSQL基础知识之DCL语句
1、DCL概念
DCL英文全称是Data Control Language(数据控制语言),用来管理数据库用户、控制数据的访问权限
2、查询用户
语法:SELECT * FROM user;
MySQL用户信息默认存储在mysql数据库中的user表中,所以只需要查询mysql数据库中的user表即可
3、创建用户
语法:CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
注意:当我们希望任意主机都能访问MySQL,只需要把主机名的值写为%即可
注意:这样创建的用户只有登录MySQL的权限,没有操作数据库的权限
4、修改用户密码
语法:ALTER USER '用户名'@'主机名' IDENTIFIED WITH mysql_native_password BY '新密码';
5、删除用户
语法:DROP USER '用户名'@'主机名';
6、权限控制
在MySQL中常用的权限有以下几种:
注意:
多个权限之间,使用逗号分隔;
授权时,数据库名和表名可以使用*进行通配,代表所有
7、查看用户权限
语法:SHOW GRANTS FOR '用户名'@'主机名';
这里myuser用户只有登录MySQL权限
8、授予权限
语法:GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
#给用户myuser授予mytest数据库中的students数据表全部权限
GRANT ALL ON mytest.students TO 'myuser'@'%';
9、撤销权限
语法:REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
#用户myuser撤销mytest数据库中的students数据表全部权限
REVOKE ALL ON mytest.students FROM 'myuser'@'%';