在Ubuntu上进行MySQL故障排查可按以下步骤操作:
检查服务状态
sudo systemctl status mysql # 查看服务是否运行,未运行则启动
sudo systemctl start mysql
查看错误日志
sudo tail -f /var/log/mysql/error.log # 实时查看最新错误信息
sudo less /var/log/mysql/error.log # 查看完整日志
检查配置文件
sudo nano /etc/mysql/my.cnf # 确认配置正确,如socket路径、端口等
sudo mysqlcheck --all-databases --auto-repair # 修复配置错误(部分场景)
检查端口与防火墙
sudo netstat -tuln | grep 3306 # 确认端口未被占用
sudo ufw status # 检查防火墙是否放行3306端口
sudo ufw allow 3306 # 放行端口(如需)
检查权限与磁盘空间
sudo chown -R mysql:mysql /var/lib/mysql # 修复数据目录权限
sudo df -h # 确保磁盘空间充足,不足则清理
高级排查(性能/死锁等)
# 在my.cnf中添加配置后重启服务
slow_query_log=1
long_query_time=2
slow_query_log_file=/var/log/mysql/mysql-slow.log
使用SHOW PROCESSLIST或EXPLAIN分析慢SQL。SHOW PROCESSLIST查看阻塞进程,用KILL <ID>终止。重启服务与重装(必要时)
sudo systemctl restart mysql # 重启服务
sudo apt remove --purge mysql-server # 重装前卸载
sudo apt install mysql-server # 重新安装
提示:操作前建议备份数据,若无法解决可参考官方文档或社区论坛。