数据库操作DCL

DCL

DCL(Data Control Language),数据库控制语言。

主要用途:对数据库访问权限进行控制的指令。

操纵命令:GRANT、REVOKE

GRANT:对用户进行赋权。

REVOKE:对用户权限进行回收。

用户管理

MYSQL8.0后版本不支持grant语句直接创建用户,因此需要先创建用户,再进行赋权。

创建用户

CREATE USER 'username'@'hostname' IDENTIFIED BY '密码';

案例:
create user 'csg1' identified by '123';

image-20200614195339691

用Create创建的用户仅有系统默认权限usage,无其他权限。

删除用户

DROP USER 'username'@'hostname';

案例:
drop user csg1;

image-20200614195455547

权限管理

赋权

GRANT priviledge_name[(list_name1,list?_name2)] ON dbname.table_name FROM 'username'@'hostname';

案例:
对账号'csg1'添加数据库'mysqlpractice'所有表的'select'权限。
grant select on mysqlpractice.* to csg1;

image-20200614201705116

案例:
对全库全表赋权所有权限。

grant all on *.* to dba@localhost;

查看权限

查看指定账号权限:
SHOW GRANTS FOR 'username'@'hostname';

查看当前用户自身权限:
SHOW GRANTS;

回收权限

REVOKE priviledge_name[(list_name1,list?_name2)] FROM dbname.table_name FROM 'username'@'hostname';

案例:
revoke select on mysqlpractice.* from csg1;

image-20200614202521110

评论