安裝 MySQL 後無法登入,常見原因包括:設定檔遺失、Socket 檔案不存在、殘留進程衝突、服務未正常啟動等。本文以 CentOS 為例,提供系統化的排查與修復步驟。
嘗試登入時出現錯誤:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
或服務狀態顯示:
/etc/init.d/mysql status
ERROR! MySQL is running but PID file could not be found
若 /etc/my.cnf 不存在,從範例目錄複製一份:
cp /usr/share/doc/MySQL-server-5.5.24/my-medium.cnf /etc/my.cnf
注意:版本號需與實際安裝版本對應;若找不到 my-medium.cnf,可用 my-default.cnf 替代。
手動建立缺失的 socket 檔:
touch /var/lib/mysql/mysql.sock
chown mysql:mysql /var/lib/mysql/mysql.sock
# 查看 MySQL 進程
ps aux | grep mysql
# 強制終止所有 mysql 進程 (PID 替換為實際值)
kill -9 PID1 PID2 ...
# 重啟服務
/etc/init.d/mysql start
/etc/init.d/mysql status
應顯示 SUCCESS! MySQL running (PID: xxxx)。
-h 127.0.0.1)通常不受影響。避坑指南:修改
my.cnf後務必重啟服務生效;生產環境建議設定bind-address = 0.0.0.0並配置防火牆,而非依賴 Socket 單機連線。