一、什么是DCL
DCL(Data Control Language)即数据控制语言,主要用于对数据库用户及权限的控制与管理。
二、DCL常用的语句
2.1、创建用户
#创建用户
#create user '用户名'@'主机名' identified by '密码';
#注意:主机名可以是localhost,任意主机可以为%,表示限制登陆ip
create user 'test'@'localhost' identified by '123456';
2.2、修改用户密码
2.2.1、普通用户修改密码
mysql版本在8.0之前
#mysql 8.0之前版本
#普通用户:登陆自己的账号后 set password = password('密码');
set password = password('123321');
#root用户给普通用户修改密码 set password for '用户名'@'主机名' = password ('密码');
set password for 'test'@'localhost' = password ('123');
mysql版本在8.0之后
#mysql8.0之后
#alter user "用户名"@"主机名" identified with mysql_native_password by '新密码'
alter user "test"@"localhost" identified with mysql_native_password by '123321';
2.2.2、root用户修改密码
mysql版本在8.0之前
#root用户修改自己的密码
#set password = password('新密码');
set password = password('123321');
mysql版本在8.0之后
#mysql8.0之后
#alter user "用户名"@"主机名" identified with mysql_native_password by '新密码'
alter user "test"@"localhost" identified with mysql_native_password by '123321';
2.3、用户授权
#给用户授予权限,权限可以是select、update、delete、create、reload、drop等等
#如果要全部授予可以直接all
#授予的对象可以是库或者库下的某张表
grant select,update,delete on blog.test01 to ‘test’@’localhost’;
#授予所有库下所有表的所有权限
grant all on *.* to ‘test’@’localhost’;
2.4、查看用户权限
#查看用户的权限
#show grants for ‘用户名’@’主机名’;
show grants for 'test'@'localhost';
2.5、撤销用户权限
#撤销用户权限
#revoke 权限1,权限2,权限3... on 库名.表名 from '用户名'@'主机名';
revoke select on blog.test01 from 'test'@'localhost';
2.6、删除用户
#删除用户
#drop user '用户名'@'主机名';
drop user 'test'@'localhost';