Python无法使用docker连接到mysql

2024-04-24 01:08:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我是docker的新手,现在我正试图在mac中使用mysql而不安装它,所以我想使用docker,但我一直遇到这个错误

sqlalchemy.exc.interface错误:(mysql.connector.errors.interface错误)2003:无法连接到“localhost:3306”上的mysql服务器(61连接被拒绝)

重现问题:

我拉了mysql/mysql服务器:

docker pull mysql/mysql-server

在航站楼内:

docker run --name=mydb -d mysql/mysql-server

然后我把它的密码改成:123456

在code database.py中:

SQLALCHEMY_DATABASE_URL = 'mysql+mysqlconnector://mydb:123456@localhost:3306/authorize_info'

在这一步中,我将得到这个错误

sqlalchemy.exc.interface错误:(mysql.connector.errors.interface错误)2003:无法连接到“localhost:3306”上的mysql服务器(61连接被拒绝)

当我将“localhost”更改为“172.17.0.1”时,也出现了此错误

我错在哪里?如何纠正?请帮帮我


Tags: docker服务器localhostconnectorserversqlalchemymac错误
2条回答

运行容器时,它不会自动将其端口映射到计算机上的端口。您需要使用-p选项告诉docker容器中的端口应该映射到本地机器上的哪个端口。如果您希望能够通过使用本地计算机上的端口3306访问容器中的端口3306,则应按如下方式启动容器

docker run  name=mydb -d -p 3306:3306 mysql/mysql-server

第一个数字是本地计算机上的端口,第二个数字是容器中的端口

还有一件事。如果您的应用程序与数据库位于同一网络中,则可以指定要连接的容器的用户名。如果没有,则应使用主机IP连接到数据库

相关问题 更多 >