以下是Ubuntu系统下MySQL的故障排查方法:
-
检查服务状态
sudo systemctl status mysql # 查看服务是否运行 sudo systemctl start mysql # 启动服务(若未运行) -
查看错误日志
sudo tail -n 50 /var/log/mysql/error.log # 定位具体错误信息 -
检查配置文件
- 路径:
/etc/mysql/my.cnf或/etc/mysql/mysql.conf.d/mysqld.cnf - 确认参数(如
port、bind-address、datadir)是否正确。
- 路径:
-
验证端口与防火墙
- 检查端口占用:
sudo netstat -tuln | grep 3306 - 开放防火墙:
sudo ufw allow 3306/tcp
- 检查端口占用:
-
确认权限与数据目录
- 确保数据目录(
/var/lib/mysql)权限正确:sudo chown -R mysql:mysql /var/lib/mysql sudo chmod -R 700 /var/lib/mysql
- 确保数据目录(
-
检测磁盘空间
df -h # 确保磁盘空间充足,不足时清理或扩容 -
修复数据库与表
sudo mysqlcheck --all-databases --auto-repair -u root -p # 修复损坏的表 -
其他高级操作
- 检查套接字文件:
ls -l /var/run/mysqld/mysqld.sock,修复路径错误。 - 重置用户密码:
sudo mysql_secure_installation或通过SQL命令修改。
- 检查套接字文件:
提示:操作前建议备份数据,若无法解决可参考错误日志或社区论坛进一步排查。