socket 文件 (.sock
) 通常是臨時文件。
- MySQL 的 socket 文件是臨時文件,只在服務運行時有效。
- 可通過配置文件更改 socket 文件的存放路徑,常見路徑如
/tmp/mysql.sock
或指定自定義目錄。 - 如果連接出現問題,可能需要檢查 MySQL 服務狀態或路徑配置是否正確。
什么是 socket 文件?
- 在 MySQL 中,socket 文件用于本地客戶端與 MySQL 服務進程之間的通信。
- 默認情況下,這個文件會在 MySQL 啟動時創建,并在 MySQL 服務關閉時自動刪除。
- 文件路徑通常類似于
/tmp/mysql.sock
或用戶指定的路徑。
socket 文件特點
- 臨時性:MySQL 服務運行時存在,關閉后自動刪除。
- 作用:為本地客戶端提供高效的進程間通信(IPC),性能通常比 TCP 連接更快。
- 可配置:
- 可在 MySQL 配置文件中通過
socket
參數自定義路徑。 - 示例配置:
[mysqld] socket=/usr/local/src/mysql_demo/master_replica/mysql.sock[client] socket=/usr/local/src/mysql_demo/master_replica/mysql.sock
- 可在 MySQL 配置文件中通過
注意事項
- 如果 socket 文件意外丟失或未正確刪除,可能導致客戶端連接錯誤,比如:
解決方法:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- 檢查 MySQL 服務是否正在運行。
- 如果 socket 文件路徑自定義,確保客戶端使用正確的配置文件。
- 重啟 MySQL 服務以重新生成 socket 文件:
sudo systemctl restart mysql