gpt4 book ai didi

mysql - docker-compose运行两个mysql实例

转载 作者:行者123 更新时间:2023-11-29 17:53:48 25 4
gpt4 key购买 nike

我想使用 docker-compose 运行两个 mysql 实例。

我在 Docker 容器中运行 MySQL,并且有另一个 Docker 容器运行 python 脚本来访问 MySQL 数据库。

其中一个在端口 3306 上运行良好。为了让两个正常工作,我想我应该在不同的端口上运行另一个。但是当我将其更改为不同的端口(例如 6603)时,我收到以下错误:

mysql.connector.errors.InterfaceError: 2003: Can't connect to MySQL server on 'mysql:6603' (111 Connection refused)

我已阅读 s.o. 上的每个问题。我发现这似乎相关,但没有一个解决方案有效。我确信修复将涉及更改一两行配置,但到目前为止我已经在这方面花费了很多时间,因此我们将不胜感激。

docker-compose 脚本如下(如果将 6603 替换为 3306,则可以正常工作)。

server:
build:
context: ../
dockerfile: Docker/ServerDockerfile
ports:
- "8080:8080"
links:
- mysql:mysql
volumes:
- ../py:/app
tty: true

mysql:
image: mysql
expose:
- "6603"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: project
volumes:
- ./MySQL:/docker-entrypoint-initdb.d
- ./MySQL/data:/var/lib/mysql

它的访问方式如下:

cnx = mysql.connector.connect(user='root', password='password',
host='mysql',
port="6603",
database='project')

最佳答案

尝试通过修改 MySQL 的 my.cnf 文件为 MySQL 指定另一个端口。

关于mysql - docker-compose运行两个mysql实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49059109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com