CentOS中MySQL故障排查可按以下步骤进行:
检查服务状态
sudo systemctl status mysqld # 查看服务是否运行
sudo systemctl start mysqld # 启动服务(若未运行)
查看错误日志
sudo tail -f /var/log/mysqld.log # 实时查看错误日志
grep -i "error" /var/log/mysqld.log # 过滤错误信息
排查配置文件
检查/etc/my.cnf或/etc/mysql/my.cnf,重点关注datadir、port、socket等配置是否正确,确保语法无误。
处理端口冲突
sudo netstat -tulnp | grep 3306 # 查看端口占用情况
sudo kill -9 <PID> # 结束占用进程(若需修改端口,需同步修改配置文件)
检查权限与文件系统
sudo chown -R mysql:mysql /var/lib/mysql # 确保数据目录权限正确
sudo chmod -R 700 /var/lib/mysql
df -h # 检查磁盘空间是否充足
分析性能与连接问题
pt-query-digest或mysqldumpslow分析。max_connections参数,或优化应用连接池。SHOW ENGINE INNODB STATUS\G查看状态,必要时设置innodb_force_recovery修复。修复数据与表
sudo mysqlcheck -u root -p --all-databases --auto-repair # 修复表
sudo mysql_upgrade --force # 修复系统表(如mysql库损坏)
其他高级操作
SHOW SLAVE STATUS查看延迟,使用SQL_SLAVE_SKIP_COUNTER跳过错误或重建复制。setenforce 0。提示:操作前建议备份数据,若自行处理无效,可联系专业支持或参考MySQL官方文档。[1,2,3,4,5,6,7,8,9,10]