CentOS7下升级MySQL5.7.23的一个坑

2026年02月11日/ 浏览 10

进入MySQL数据目录(默认位于/var/lib/mysql),执行以下命令:

chown -R mysql:mysql /var/lib/mysql  
chmod -R 750 /var/lib/mysql  

第二步:调整SELinux策略

临时禁用SELinux的严格模式(生产环境慎用):

setenforce 0  

或更安全地为MySQL数据目录添加SELinux上下文标签:

chcon -R -t mysqld_db_t /var/lib/mysql  

第三步:验证并启动服务

执行以下命令重新启动MySQL:

systemctl start mysqld  
systemctl status mysqld  

如果一切正常,可以通过mysql -V确认版本信息,并建议恢复SELinux策略:

setenforce 1  

经验总结

  1. 权限问题:MySQL 5.7对文件权限的要求比旧版本更严格,升级时需手动检查。
  2. SELinux干扰:在CentOS/RHEL系统中,SELinux往往是权限问题的“第二道墙”。
  3. 备份优先:任何时候升级数据库前,务必确保有完整的备份和回滚方案。
picture loss