以下是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]