Mysql

從一個容器中的 MySQL 客戶端連接到同一 pod 的另一個容器中的 MySQL 伺服器

  • August 1, 2016

我在一個 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在這種情況下不會這樣做。)

引用自:https://serverfault.com/questions/793173