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

数据库 itxz 5年前 (2020-11-05) 293次浏览 已收录 0个评论

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

1、创建用户

-- 创建<a href="http://www.itxz.com/?tag=%e7%94%a8%e6%88%b7" title="查看更多关于用户的文章" target="_blank">用户</a>
CREATE USER '<a href="http://www.itxz.com/?tag=%e7%94%a8%e6%88%b7" title="查看更多关于用户的文章" target="_blank">用户</a>名'@'主机名' IDENTIFIED BY '密码';
 
CREATE USER 'itxz'@'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、修改用户

-- 修改密码
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
 
SET PASSWORD FOR 'itxz'@'localhost' = PASSWORD('hyh123');

3、查询用户

-- 1. 切换到<a href="http://www.itxz.com/?tag=mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>数据库
USE <a href="http://www.itxz.com/?tag=mysql" title="查看更多关于mysql的文章" target="_blank">mysql</a>;
-- 2. 查询user表
SELECT * FROM USER;
%通配符匹配所有。

4、删除用户

-- 删除用户
DROP USER '用户名'@'主机名';
 
DROP USER 'itxz'@'localhost';

1、查询权限

-- 查询<a href="http://www.itxz.com/?tag=%e6%9d%83%e9%99%90" title="查看更多关于权限的文章" target="_blank">权限</a>
SHOW GRANTS FOR '用户名'@'主机名';
 
SHOW GRANTS FOR 'itxz'@'localhost';

2、授予权限

-- 授予<a href="http://www.itxz.com/?tag=%e6%9d%83%e9%99%90" title="查看更多关于权限的文章" target="_blank">权限</a>
GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';
 
GRANT SELECT ON mydb2.account TO 'itxz'@'localhost';
 
-- 授予所有权限
GRANT ALL ON *.* TO 'itxz'@'localhost';

3、撤销权限

-- 撤销权限
REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';
 
REVOKE SELECT ON mydb2.account TO 'itxz'@'localhost';
 
-- 撤销所有权限
REVOKE ALL ON *.* FROM 'itxz'@'localhost';

IT学者 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:MySQL如何利用DCL管理用户和控制权限
喜欢 (0)

您必须 登录 才能发表评论!