ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid)
環境:Red Hat 6、MySQL 5.6
ls -ld /var/lib/mysql
# 應為 mysql:mysql 擁有,且具寫入權限
chown -R mysql:mysql /var/lib/mysql
chmod 750 /var/lib/mysql
ps -ef | grep mysql
# 發現殘留 mysqld 進程
kill -9
# 或
pkill -9 mysqld
根因:系統啟動時 MySQL 已自動啟動(chkconfig mysqld on),手動再次 service mysql start 導致衝突,舊進程佔用資源、鎖定檔案。
rm -f /var/lib/mysql/*.pid
rm -f /var/lib/mysql/*.sock
rm -f /var/lib/mysql/ib_logfile* # 僅在確認無資料遺失風險時
service mysql start
# MySQL 5.7+ 使用 service mysqld start
ls -l /var/lib/mysql/mysql.sock # 確認 socket 生成
# 查看所有服務運行級別
chkconfig --list
# 查看 MySQL
chkconfig --list mysqld
# 關閉 2/3/4/5 級別自啟動
chkconfig --level 2345 mysqld off
# 開啟
chkconfig --level 2345 mysqld on
Linux 運行級別:0 關機、1 單用戶、2 多用戶無網路、3 多用戶有網路、4 保留、5 圖形介面、6 重啟。
cat /var/log/boot.log
# 查看啟動過程中 MySQL 是否已自動啟動成功
mysql,service mysql startmysqld,service mysqld startmariadbchkconfig --list mysqld 狀態service mysql status 檢查pid-file 路徑至可寫目錄/var/log/mysqld.log 錯誤日誌