首页 > 数据库 > mysql教程 > 如何从主机连接到 Docker 化的 MySQL 实例?

如何从主机连接到 Docker 化的 MySQL 实例?

Barbara Streisand
发布: 2024-11-29 08:39:11
原创
385 人浏览过

How to Connect to a Dockerized MySQL Instance from the Host Machine?

从主机连接到 Docker 容器中的 MySQL

问题描述:

何时尝试从主机连接到在 Docker 容器中运行的 MySQL 数据库时,遇到错误消息:“Can't通过套接字'/var/run/mysqld/mysqld.sock'连接到本地MySQL服务器。

Dockerfile:

以下Dockerfile用于创建MySQL容器:

FROM ubuntu:14.04.3
RUN apt-get update && apt-get install -y mysql-server
RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf
EXPOSE 3306
CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
登录后复制

失败尝试:

尽管在容器内成功启动了 MySQL 实例,但使用 mysql -P 12345 -uroot 从主机连接到它会导致套接字错误。

解决方案:

要从主机连接到在 Docker 容器中运行的 MySQL 数据库,请执行以下操作必要步骤:

  1. 将主机地址指定为“localhost”。
  2. 指定 Docker MySQL 实例正在侦听的端口(默认为 3306)。
  3. 将协议设置为“tcp”,因为 Docker MySQL 实例无法通过 Unix 访问socket.

主机连接命令:

mysql -h localhost -P 3306 --protocol=tcp -u root
登录后复制

更改端口:

如果不同端口用于暴露Docker容器中的MySQL实例(例如12345),应该指定也在连接命令中:

mysql -h localhost -P 12345 --protocol=tcp -u root
登录后复制

以上是如何从主机连接到 Docker 化的 MySQL 实例?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板