在 MySQL 中,创建用户并授权可以通过 CREATE USER
和 GRANT
命令完成,以下是详细步骤:
基本语法:
CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
参数说明:
-
用户名
:自定义的用户名
-
主机名
:指定用户可从哪个主机连接,localhost
表示仅本地,%
表示任意主机
-
密码
:用户登录密码
示例:
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'Test@123456';
CREATE USER 'webuser'@'%' IDENTIFIED BY 'Web@654321';
基本语法:
GRANT 权限类型 ON 数据库名.表名 TO '用户名'@'主机名';
常用权限类型:
-
ALL PRIVILEGES
:所有权限(除 GRANT 权限外)
-
SELECT, INSERT, UPDATE, DELETE
:查询、插入、更新、删除权限
-
CREATE, DROP
:创建、删除数据库 / 表的权限
-
ALTER
:修改表结构的权限
示例:
GRANT SELECT, INSERT ON testdb.* TO 'testuser'@'localhost';
GRANT ALL PRIVILEGES ON *.* TO 'webuser'@'%';
GRANT ALL PRIVILEGES ON testdb.* TO 'adminuser'@'localhost' WITH GRANT OPTION;
授权后需要刷新权限使设置生效:
SHOW GRANTS FOR '用户名'@'主机名';
REVOKE 权限类型 ON 数据库名.表名 FROM '用户名'@'主机名';
-
遵循最小权限原则,只授予用户必要的权限
-
密码应包含大小写字母、数字和特殊字符,提高安全性
-
生产环境中避免使用
%
作为主机名,限制连接来源
-
定期审计用户权限,及时移除不再需要的权限
通过以上步骤,可以安全地创建 MySQL 用户并合理分配权限,保障数据库安全。