【发布时间】:2021-02-26 09:56:39
【问题描述】:
我在 docker compose 上运行 MySQL,并且我正在连接到 MySQL 工作台工作正常,好像当我从 python 连接时说连接被拒绝。
version: '3.1'
services:
mysql-dev:
image: mysql:8.0.2
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: mydb
ports:
- "3308:3306"
volumes:
- "./my.conf:/etc/mysql/conf.d/config-file.cnf"
- "./data:/var/lib/mysql:rw"
这是我的python代码
import mysql
from mysql.connector import connect
# specify database configurations
config = {
'host': 'localhost',
'port': 3306,
'user': 'root',
'password': 'password',
'database': 'mydb'
}
connect(**config)
Error :InterfaceError: 2003: Can't connect to MySQL server on 'localhost:3306' (10061 No connection could be made because the target machine actively refused it)
【问题讨论】:
-
当您的 Python 代码尝试连接端口 @987654329 时,您正在将 MySQL 容器暴露给端口
3308上的本地主机(由"3308:3306"表示,其中一对是HOST:CONTAINER) @ -
还建议不要使用MySQL-8.0 这样的早期开发版本。自此开发版本发布以来的 3 年中,已修复了许多错误。
标签: mysql python-3.x docker mysql-python