我正在尝试使用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
它返回相同的错误
答案 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