跳转至

安全管理

MySQL的访问控制和用户管理

管理用户

  • 查看用户列表
    use mysql
    select user from user;
    

用户操作

  • 创建用户:CREATE USER user_name IDENTIFUED BY 'password';
  • 重命名:RENAME USER user_name TO new_user_name;
  • 删除用户:DROP USER user_name;

设置访问权限

  • 查看权限:SHOW GRANTS FOR user_name;
  • 给予权限:GRANT语句要求的信息
    • 要授予的权限
    • 被授予访问权限的数据库或表
    • 用户名
      -- 授权username在可select数据库crashcourse中的所有表
      GRANT SELECT ON crashcourse.* TO user_name;
      
  • 撤销权限:REVOKE
    REVOKE SELECT ON crashcourse.* FROM user_name;
    
  • 可控制的权限层次:
    • 整个服务器
      • GRANT|EVOKE ALL
    • 整个数据库
      • ON database.*
    • 特定的表
      • ON database.table_name
    • 特定的列
    • 特定的存储过程

更改密码

SET PASSWORD FOR user_name = Password(new password);
- 新密码必须通过Password()函数加密