从一个容器中的 MySQL 客户端连接到同一 pod 中的另一个容器中的 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 服务器在第二个容器中运行并且仍然使用套接字?

答案1

解决方案包括调用第二个容器中的 MySQL 客户端,如下所示:

mysql -host 127.0.0.1

这会力量客户端建立 TCP/IP 连接,而不是使用 Unix 套接字文件。(localhost在这种情况下不会这样做。)

相关内容