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';