数据控制语言(DCL)
1、操作权限
DCL语句主要是DBA用来管理数据库对象的使用权限
grant all privileges on *.* to 'test'@'%' identified by 'test' with grant option;
all privileges
表示所有该用户拥有所有操作权限,也可以设置单个权限:如select,create等,详细的权限列表可参考Mysql官方文档。
on
表示这些权限对哪些数据库和表有效,格式 数据库.表名
本例中的*.*
表示全部的数据库和表
to
表示登录的用户名称和登录ip,'test'@'%'
中test表示用户名,%表示所有IP都可访问,也设置指定IP,如'test'@'192.169.0.%'
表示只能通过192.168.0
号段的ip访问
indentified by
用于指定用户登录的密码
with grant option
表示允许用户将自己的权限授权给其它用户
注意:可以使用grant给用户添加权限,权限会自动叠加,不会覆盖之前授予的权限
2、刷新权限
当修改或者添加完用户的权限后需要刷新权限
flush privileges;
3、查看用户权限
show grants for 'test'@'%';
4、回收权限
revoke create on *.* from 'tset@%';
flush privileges;
5、修改用户名
rename user 'test'@'%' to 'test1'@'%';
flush privileges;
6、修改密码
set password for 'test'@'%'=password('123456');
flush privileges;
7、删除用户
drop user 'test'@'%';
flush privileges;