Docker mysql:错误2002(HY000):无法通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器(2)

时间:2019-05-10 07:28:07

标签: mysql docker containers

我正在尝试使用mysql cli连接到mysql服务器。图片是使用以下命令创建的:

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=****** -d mysql

泊坞窗容器正在运行docker ps打印:

johnd@john-pc:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
598c0f8680dc        mysql               "docker-entrypoint.s…"   4 minutes ago       Up 4 minutes        3306/tcp, 33060/tcp    some-mysql

当我输入以下命令时: mysql -h 127.0.0.1 -P 3306 -u root -p返回:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

我也尝试使用--protocol=tcp属性。如何使用客户端计算机(而不是其他Docker终端)上的终端从客户端连接到在docker上运行的mysql服务器上

编辑: 我也尝试使用以下命令连接到mysql:

docker run -it --rm mysql mysql -h127.0.0.1 -uexample-user -p

它返回相同的错误

2 个答案:

答案 0 :(得分:1)

  

mysql -h 127.0.0.1 -P 3306 -u root -p

您正在连接到本地主机的sql服务器,但没有将docker的容器端口映射到主机。 尝试通过以下方式将端口映射到您的主机:

  

docker run --name some-mysql -e MYSQL_ROOT_PASSWORD = ****** -d -p 3306:3306 mysql

然后重试:

  

mysql -h 127.0.0.1 -P 3306 -u root -p

答案 1 :(得分:0)

对我来说同样的错误,请记住首先在您的容器中启动 mysql 服务。

在你的容器中执行

/etc/init.d/mysql start