首先修改默认密码并启用强密码策略,接着限制root远程访问,最后创建专用管理用户。具体步骤包括:使用临时密码登录后立即修改;安装validate_password插件并设为MEDIUM策略;删除'root'@'%'账户;创建具SUPER权限的admin用户并授权,提升安全性和可维护性。

配置 MySQL 初始用户和密码时,安全性和可维护性是关键。刚安装 MySQL 后,默认的 root 用户通常没有密码或使用临时密码,这时需要及时设置强密码并合理管理权限。以下是一些实用技巧,帮助你更安全、高效地完成初始配置。
1. 使用临时密码并及时修改
从 MySQL 5.7 开始,安装完成后会生成一个临时 root 密码,保存在日志文件中(如 /var/log/mysqld.log)。首次登录必须使用该密码,然后立即修改。
操作建议:- 查看临时密码:
sudo grep 'temporary password' /var/log/mysqld.log - 登录后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourStrongPassword!';
2. 设置强密码策略
MySQL 支持密码强度验证插件(validate_password),启用后可强制使用复杂密码,防止弱口令。
操作建议:- 安装插件:
INSTALL PLUGIN validate_password SONAME 'validate_password.so'; - 设置策略级别(LOW/MEDIUM/STRONG):
SET GLOBAL validate_password.policy = MEDIUM; - 密码应包含大小写字母、数字和特殊字符,长度不少于8位。
3. 限制 root 用户远程访问
出于安全考虑,root 用户应仅限本地登录。避免使用 root 远程连接数据库。
- 确认 root 只允许本地访问:
SELECT User, Host FROM mysql.user WHERE User = 'root'; - 删除远程 root 账户(如有):
DROP USER 'root'@'%';
4. 创建专用管理用户
日常维护不推荐直接使用 root,可创建具有 SUPER 权限的管理员账户,用于远程管理。
操作建议:- 创建新用户:
CREATE USER 'admin'@'%' IDENTIFIED BY 'StrongPass123!'; - 授权管理权限:
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%' WITH GRANT OPTION; - 刷新权限:
FLUSH PRIVILEGES;
基本上就这些。关键是第一时间改密码、设强度、控访问、分角色。安全习惯从初始化开始养成,后续运维风险会小很多。










