$ mysql -u root
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/home/mysql/mysql.sock' (2)
預設 localhost 走 Unix Socket,Socket 檔遺失/路徑錯誤即連線失敗。
# MySQL 4.1+ 支援 --protocol 參數
mysql --protocol=TCP -u root -p -P 3307 -h 127.0.0.1
# 成功連線,繞過 Socket 檔案
| 協議 | 參數 | 適用場景 |
|---|---|---|
| TCP/IP | --protocol=TCP | 跨機器、Socket 故障、IPv6 |
| Unix Socket | --protocol=SOCKET | 本機高效能、預設 localhost |
| Named Pipe | --protocol=PIPE | Windows 專用 |
| Shared Memory | --protocol=MEMORY | Windows 專用、極低延遲 |
my.cnf [mysqld] socket 路徑與 [client] 一致。