在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 # 重新安装 提示:操作前建议备份数据,若无法解决可参考官方文档或社区论坛。