创建用户并授予权限是mysql安全管理的核心,通过CREATE USER创建用户,GRANT分配权限,REVOKE撤销权限,DROP USER删除用户,遵循最小权限原则可提升数据库安全性。
在 MySQL 中管理用户权限主要通过创建用户、授予权限、撤销权限和删除用户等操作来实现。合理配置权限能保障数据库安全,同时满足不同角色的访问需求。
创建用户并设置密码
要管理权限,先得有用户。使用 CREATE USER 语句创建新用户,并指定登录密码。
例如:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
其中 'username'@'host'
表示用户及其允许登录的主机。常见 host 值包括:
-
localhost
:仅本地访问 -
%
:允许从任意主机连接(注意安全) - 具体 IP:如
192.168.1.100
授予用户权限
使用 GRANT 命令为用户分配权限。权限可作用于全局、数据库或特定表。
常用权限类型:
授权示例:
给用户赋予某个数据库的全部权限:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
只授予查询权限:
GRANT SELECT ON sales.customers TO 'report_user'@'%';
执行完授权后,记得刷新权限:
FLUSH PRIVILEGES;
查看用户权限
使用 SHOW GRANTS 查看某用户的当前权限。
示例:
SHOW GRANTS for 'username'@'localhost';
这会列出该用户拥有的所有权限语句,便于审计和排查问题。
撤销权限与删除用户
当用户不再需要某些权限或账户时,应撤销权限或删除用户以降低风险。
撤销权限语法:
REVOKE DELETE ON database_name.* FROM 'username'@'localhost';
撤销全部权限:
REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
删除用户:
DROP USER 'username'@'localhost';
执行后该用户将无法再登录。
基本上就这些。掌握好用户和权限管理,能有效控制谁可以做什么,避免误操作或越权访问。建议遵循最小权限原则,只给必要的权限,定期审查用户列表和权限配置。