繁体   English   中英

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

[英]Docker mysql: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

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

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

docker 容器正在运行 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

它返回相同的错误

mysql -h 127.0.0.1 -P 3306 -u 根 -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 根 -p

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

在你的容器中执行

/etc/init.d/mysql start

使用内部 docker IP 像 127.0.0.1 对我不起作用

我使用了我的 POD 的 IP 并且它有效

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

我仍然不明白为什么我无法登录以及在此命令之前和之后我能够登录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM