配置 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;
基本上就这些。关键是第一时间改密码、设强度、控访问、分角色。安全习惯从初始化开始养成,后续运维风险会小很多。
