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