15. 权限

69 阅读1分钟

在MySQL中,权限配置是管理数据库安全性的关键。以下是一些常用的有关MySQL权限配置的内容:

  1. 创建用户:

    • 使用CREATE USER语句创建新用户。例如,创建一个名为new_user,密码为password123的用户:
      CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password123';
      
  2. 授予权限:

    • 使用GRANT语句给用户授予特定权限。例如,给用户new_user授予对所有数据库的所有表的读写权限:
      GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';
      
    • 可以选择授予特定数据库或表的权限,也可以使用WITH GRANT OPTION允许用户将其权限授予其他用户。
  3. 刷新权限:

    • 在对权限进行更改后,使用FLUSH PRIVILEGES;来刷新权限,使更改生效:
      FLUSH PRIVILEGES;
      
  4. 查看权限:

    • 使用SHOW GRANTS语句查看用户的权限:
      SHOW GRANTS FOR 'new_user'@'localhost';
      
  5. 撤销权限:

    • 使用REVOKE语句撤销用户的权限。例如,撤销用户new_user对所有数据库的所有权限:
      REVOKE ALL PRIVILEGES ON *.* FROM 'new_user'@'localhost';
      
  6. 限制用户登录主机:

    • 可以通过指定用户的HOST限制用户只能从特定的主机登录。例如,限制用户new_user只能从IP地址为192.168.1.100的主机登录:
      CREATE USER 'new_user'@'192.168.1.100' IDENTIFIED BY 'password123';
      
  7. 修改用户密码:

    • 使用ALTER USER语句修改用户的密码:
      ALTER USER 'new_user'@'localhost' IDENTIFIED BY 'new_password';
      
  8. 删除用户:

    • 使用DROP USER语句删除用户。例如,删除用户new_user
      DROP USER 'new_user'@'localhost';
      
  9. 权限管理最佳实践:

    • 避免使用过于宽松的权限,按需分配最小必要的权限。
    • 定期审查和更新用户权限,确保权限设置符合实际需求。