我在一个 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 客户端,如下所示:
这将强制客户端进行 TCP/IP 连接,而不是使用 Unix 套接字文件。(
localhost
在这种情况下不会这样做。)