Mysql
從一個容器中的 MySQL 客戶端連接到同一 pod 的另一個容器中的 MySQL 伺服器
我在一個 pod 中執行兩個容器:一個基於
debian:wheezy
,另一個是mysql:5.6
.當我登錄到第二個容器時,我可以
mysql
毫無問題地呼叫 MySQL 客戶端。當我登錄到第一個容器並呼叫 MySQL 客戶端
mysql
(之後apt-get install -y mysql-client
)時,我收到以下錯誤消息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
我認為這是因為這兩個容器使用自己的文件系統,並且套接字僅存在於第二個容器中。
有沒有一種簡單的方法可以讓 MySQL 客戶端在第一個容器中工作,而 MySQL 伺服器在第二個容器中執行並且仍然使用套接字?
該解決方案包括在第二個容器中呼叫 MySQL 客戶端,如下所示:
mysql -host 127.0.0.1
這將強制客戶端進行 TCP/IP 連接,而不是使用 Unix 套接字文件。(
localhost
在這種情況下不會這樣做。)