CentOS系统MySQL密码设置指南

CentOS系统MySQL密码设置完整指南

密码配置必要性

安装MySQL后设置强密码对数据库安全防护至关重要。初始安装的MySQL实例root账户通常无密码或仅设临时密码,需要立即重置以防止未授权访问。

安装验证与准备

# 检查MySQL服务状态
systemctl status mysqld

# 获取临时密码(MySQL 5.7+)
grep 'temporary password' /var/log/mysqld.log

方法一:mysql_secure_installation工具

安全配置流程

# 启动交互式安全配置
sudo mysql_secure_installation

# 根据提示完成操作:
1. 输入获取的临时密码(若无则回车)
2. 启用密码强度验证插件
3. 设置新密码(需满足安全策略)
4. 移除匿名用户
5. 禁止root远程登录
6. 删除测试数据库
7. 立即重载权限表

方法二:SQL命令修改密码

MySQL 5.7命令语法

mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';

MySQL 8.0+语法更新

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

密码策略调整

临时降低强度要求(测试环境)

SET GLOBAL validate_password.policy = LOW;
SET GLOBAL validate_password.length = 4;

永久修改需编辑/etc/my.cnf配置文件:

[mysqld]
validate_password.policy=0
validate_password.length=4

密码修改验证步骤

  1. 重启MySQL服务:systemctl restart mysqld
  2. 使用新密码登录:mysql -u root -p
  3. 执行测试查询:SELECT user();

安全增强建议

  • 设置12位以上包含大小写字母、数字、特殊字符的密码
  • 定期使用ALTER USER命令更新密码
  • 为应用创建独立账户并限制权限范围
  • 启用数据库防火墙(如firewalld)限制访问IP

常见问题解决

问题现象 解决方案
Access denied错误 停止服务后启动mysqld_safe --skip-grant-tables
密码策略冲突 执行SHOW VARIABLES LIKE 'validate_password%'检测策略
修改后无法登录 检查SELinux状态及错误日志/var/log/mysqld.log

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END