天天看点

MySQL数据库中的用户管理

DCL : 管理用户,权限管理

管理用户

  1. 添加用户 : ​

    ​CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';​

  2. 删除用户 : ​

    ​DROP USER '用户名'@'主机名';​

  3. 查询用户
-- 1. 切换到mysql数据库
USE mysql;
-- 2. 查询user表
select * from USER;      

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

  1. 修改用户密码

    两种方式 :

UPDATE USER SET PASSWORD = PASSWORD('新密码') WHERE USER = '用户名';

SET PASSWORD FOR '用户名'@'主机名' = PASSWORD('新密码');      
  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'@'%';      

继续阅读