MySQL如何利用DCL管理用户和控制权限

时间:2022-09-23 10:23:35

DCL(Data Control Language):数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户。

一、管理用户

1、创建用户

?
1
2
3
4
-- 创建用户
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
 
CREATE USER 'Summerday'@'localhost' IDENTIFIED BY '123456';

ps:如果出现了[The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement]的错误,可以先执行FLUSH PRIVILEGES;语句。

2、修改用户

?
1
2
3
4
-- 修改密码
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
 
SET PASSWORD FOR 'Summerday'@'localhost' = PASSWORD('hyh123');

3、查询用户

?
1
2
3
4
-- 1. 切换到mysql数据库
USE mysql;
-- 2. 查询user表
SELECT * FROM USER;

%通配符匹配所有。

4、删除用户

?
1
2
3
4
-- 删除用户
DROP USER '用户名'@'主机名';
 
DROP USER 'Summerday'@'localhost';

二、权限管理

1、查询权限

?
1
2
3
4
-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名';
 
SHOW GRANTS FOR 'Summerday'@'localhost';

2、授予权限

?
1
2
3
4
5
6
7
-- 授予权限
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
 
GRANT SELECT ON mydb2.account TO 'Summerday'@'localhost';
 
-- 授予所有权限
GRANT ALL ON *.* TO 'Summerday'@'localhost';

3、撤销权限

?
1
2
3
4
5
6
7
-- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
 
REVOKE SELECT ON mydb2.account TO 'Summerday'@'localhost';
 
-- 撤销所有权限
REVOKE ALL ON *.* FROM 'Summerday'@'localhost';

作者:天乔巴夏丶
出处:https://www.cnblogs.com/summerday152/
本文已收录至Gitee:https://gitee.com/tqbx/JavaBlog
若有兴趣,可以来参观本人的个人小站:https://www.hyhwky.com

以上就是MySQL如何利用DCL管理用户和控制权限的详细内容,更多关于MySQL 管理用户和控制权限的资料请关注服务器之家其它相关文章!

原文链接:https://www.cnblogs.com/summerday152/p/12444857.html