DCL : 管理用户,权限管理

管理用户

  1. 添加用户 : ​​CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';​
  2. 删除用户 : ​​DROP USER '用户名'@'主机名';​
  3. 查询用户
-- 1. 切换到mysql数据库
USE mysql;
-- 2. 查询user表
select * from USER;

通配符 : % 表示可以再任意主机使用用户登录数据库

MySQL数据库中的用户管理_主机名

  1. 修改用户密码
    两种方式 :
UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';

SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');

忘记root用户密码如何修改?

  1. 管理员身份运行cmd – > ​​net stop mysql​​ // 停止mysql服务
  2. 重新打开cmd, 使用无验证方式启动mysql服务 : ​​mysql --skip-grant-tables​
  3. 重新打开cmd, 直接输入​​mysql​​进行登录
  4. 进行用户密码的修改
    ​​​use mysql;​​​​UPDATE USER SET PASSWORD = PASSWORD('root') WHERE USER = 'root';​
  5. 完成密码修改后, 打开任务管理器
  1. 管理员身份运行cmd, 输入​​net start mysql​​ // 运行mysql服务
  2. 使用正常的mysql登录命令即可. ​​mysql -uroot -proot​

权限管理


  1. 查询权限
-- 查询权限
SHOW GRANTS FOR '用户名'@'主机名'
  1. 授予权限
-- 授予权限
grant 权限列表 on 数据库名.表名 to '用户名'@'主机名';
-- 给jack用户授予所有全面, 在任意数据库任意表上
grant ALL ON *.* TO 'jack'@'%';
  1. 撤销权限
-- 撤销权限
revoke 权限列表 on 数据库名.表名 from '用户名'@'主机名';
--撤销jack用户的对mysql数据库的user表的修改权限
REVOKE UPDATE ON mysql.'user' FROM 'jack'@'%';