以下是Ubuntu下MySQL故障排查的核心步骤:
检查服务状态
sudo systemctl status mysql # 查看是否运行,未运行则启动
sudo systemctl start mysql
查看错误日志
sudo tail -f /var/log/mysql/error.log # 实时查看最新错误
sudo grep -i "error" /var/log/mysql/error.log # 过滤关键错误
验证配置文件
/etc/mysql/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnfsudo nano /etc/mysql/my.cnf
sudo systemctl restart mysql
处理权限问题
sudo chown -R mysql:mysql /var/lib/mysql # 确保数据目录权限正确
sudo chmod -R 700 /var/lib/mysql
检查端口与网络
sudo netstat -tulnp | grep 3306
sudo ufw allow 3306 # 开放防火墙端口
排查磁盘空间
df -h # 检查磁盘使用情况,清理空间后重启
修复表或数据问题
mysqlcheck -uroot -p --auto-repair --all-databases
SET GLOBAL innodb_force_recovery = 1; # 逐步尝试恢复(1-6)
优化性能(可选)
sudo mysqldumpslow -s t /var/log/mysql/mysql-slow.log
提示:操作前建议备份数据,若无法解决可参考错误日志中的具体提示或寻求社区支持。[1,2,3,4,5,6,7,8,9,10]