在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 # 重新安裝
提示:操作前建議備份數據,若無法解決可參考官方文檔或社區論壇。