DCL : 管理用户,权限管理
管理用户
- 添加用户 :
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
- 删除用户 :
DROP USER '用户名'@'主机名';
- 查询用户
-- 1. 切换到mysql数据库
USE mysql;
-- 2. 查询user表
select * from USER;
通配符 : % 表示可以再任意主机使用用户登录数据库
-
修改用户密码
两种方式 :
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';
SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');
- 管理员身份运行cmd – >
// 停止mysql服务net stop mysql
- 重新打开cmd, 使用无验证方式启动mysql服务 :
mysql --skip-grant-tables
- 重新打开cmd, 直接输入
进行登录mysql
-
进行用户密码的修改
use mysql;
UPDATE USER SET PASSWORD = PASSWORD('root') WHERE USER = 'root';
- 完成密码修改后, 打开任务管理器
- 管理员身份运行cmd, 输入
// 运行mysql服务net start mysql
- 使用正常的mysql登录命令即可.
mysql -uroot -proot
权限管理
- 查询权限
-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名'
- 授予权限
-- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 给jack用户授予所有全面, 在任意数据库任意表上
grant ALL ON *.* TO 'jack'@'%';
- 撤销权限
-- 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
--撤销jack用户的对mysql数据库的user表的修改权限
REVOKE UPDATE ON mysql.'user' FROM 'jack'@'%';