MySQL:连接主机上的docker容器中的MySQL数据库
阅读更多:MySQL 教程
问题描述
在执行docker-compose up 命令创建MySQL容器时,MySQL容器会默认启动一个内部网络服务,并在内部容器网络中开放3306端口。
然而,当我们尝试从主机上的其他进程(包括MySQL客户端)连接到MySQL容器时,通常会遇到“拒绝连接”错误。
那么,我们应该如何在主机上连接到Docker容器中的MySQL数据库呢?
解决方案
下面是解决该问题的步骤:
1. 创建MySQL Docker容器
首先,您需要编写docker-compose.yml文件或直接使用docker命令行工具创建MySQL Docker容器。
在上面的示例中,我们创建了一个名为db的MySQL容器,它开放了主机和容器之间的3306端口,并且使用了example作为root密码。
2. 连接MySQL容器
一旦MySQL容器运行,您可以通过以下任意一种方式连接到它。
命令行
您可以使用命令行连接到MySQL容器。
客户端
您还可以使用MySQL客户端连接到MySQL容器。
可以使用pymysql或其他任何MySQL客户端库。
工具
MySQL Workbench等图形化工具也可以连接到MySQL容器。
在创建连接时,请确保您使用的是TCP / IP连接,并将主机设置为127.0.0.1,端口设置为3306。
总结
在本文中,我们讨论了如何从主机上连接到Docker容器中的MySQL数据库。 通过执行以上步骤,您可以成功连接到容器中的MySQL,并在主机上执行相关操作。