数据库用户权限管理教程
正确的权限管理可以保护数据安全,防止误操作。
MySQL权限管理:
查看所有用户:
SELECT user, host FROM mysql.user;
创建用户:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
删除用户:
DROP USER 'olduser'@'localhost';
修改密码:
ALTER USER 'user'@'localhost' IDENTIFIED BY 'newpassword';
常用权限:
- ALL PRIVILEGES - 所有权限
- SELECT - 查询
- INSERT - 插入
- UPDATE - 更新
- DELETE - 删除
- CREATE - 创建
- DROP - 删除
- INDEX - 索引
授权示例:
- 授予所有权限: GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'localhost';
- 授予只读权限: GRANT SELECT ON dbname.* TO 'user'@'localhost';
- 授予读写权限: GRANT SELECT, INSERT, UPDATE, DELETE ON dbname.* TO 'user'@'localhost';
- 授予特定表权限: GRANT SELECT ON dbname.tablename TO 'user'@'localhost';
刷新权限:
FLUSH PRIVILEGES;
查看用户权限:
SHOW GRANTS FOR 'user'@'localhost';
撤销权限:
REVOKE ALL PRIVILEGES ON dbname.* FROM 'user'@'localhost';
权限管理原则:
- 最小权限原则
- 不同应用使用不同账号
- 生产环境禁用root远程登录
- 定期审查用户权限