Mysql数据库 20.DCL数据控制语言

 因这类SQL语言开发人员操作较少,主要是数据库管理员(DBA)使用,所以前文没有提及,这篇文章进行补充说明

DCL数据控制语言

用来管理数据库用户,控制数据库的访问权限

1.管理用户

1.1 查询用户

select * from mysql.user;

代码实现
select* from mysql.user;
运行结果

Mysql数据库 20.DCL数据控制语言_第1张图片

1.2 创建用户

create user '用户名' @ ‘主机名’ identified by ‘密码’;

代码实现
 user 'Lcl'@'localhost' identified by '954926928lcl';
运行结果 

Mysql数据库 20.DCL数据控制语言_第2张图片

1.3 修改用户密码

alter user ‘用户名’@'主机名' identified with mysql_native_password by '新密码';

代码实现
alter user 'Lcl'@'localhost' identified with mysql_native_password by 密码';
运行结果Mysql数据库 20.DCL数据控制语言_第3张图片

1.4 删除用户

 drop user '用户名' @ '新密码';

代码实现
drop user 'Lcl'@'localhost';
运行结果

Mysql数据库 20.DCL数据控制语言_第4张图片

注意事项

1.在Mysql需要通过‘用户名’@‘主机名’的方式,来唯一标识一个用户;

2.主机名可以使用‘%’通配;

3.这类SQL语言开发人员操作较少,主要是数据库管理员(DBA)使用

2.权限控制

2.1 查询权限

show grants for '用户名'@'主机名';

代码实现
show grants for 'Lcl' @'localhost';
运行结果

Mysql数据库 20.DCL数据控制语言_第5张图片

2.2 授予权限

grant 权限列表 on 数据库名.表名 to ‘用户名’@'主机名';

代码实现
grant all on stock.* to 'Lcl'@'%';
运行结果

Mysql数据库 20.DCL数据控制语言_第6张图片

2.3 撤销权限

revoke 权限列表 on 数据库名.表名 from ‘用户名'@’主机名‘;

代码实现
revoke all on stock.* from 'Lcl'@'%';
运行结果

Mysql数据库 20.DCL数据控制语言_第7张图片

注意事项:

1.多个权限之间,使用逗号分隔;

2.授权时,数据库库名和表名可以使用*进行通配,代表所有;

常用权限控制中的权限

Mysql数据库 20.DCL数据控制语言_第8张图片

你可能感兴趣的:(Mysql数据库,数据库,mysql)