用户相关
在 MySQL 中创建用户并授权,标准流程分为三步:创建用户 → 授权 → 刷新权限。
一、创建用户
允许任意 IP 访问
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
只允许本机访问
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
指定某个 IP
CREATE USER 'username'@'192.168.1.100' IDENTIFIED BY 'password';
%表示任意主机localhost表示仅本机
二、授予权限
授予某个数据库全部权限
GRANT ALL PRIVILEGES ON db_name.* TO 'username'@'%';
只授予常用权限
GRANT SELECT, INSERT, UPDATE, DELETE ON db_name.* TO 'username'@'%';
授予所有数据库权限(慎用)
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
WITH GRANT OPTION 表示该用户可以再给别人授权。
三、刷新权限
MySQL 8.0 一般不需要手动刷新,但可以执行:
FLUSH PRIVILEGES;
四、查看权限
SHOW GRANTS FOR 'username'@'%';
五、删除用户
DROP USER 'username'@'%';
六、生产环境建议
- 不要使用 root 账号对外提供服务
- 不要轻易使用
*.* - 一个服务一个数据库用户
- 最小权限原则
- 生产库不要开
%