【问题标题】:Docker Compose MySql and Python not workingDocker Compose MySql 和 Python 不工作
【发布时间】: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


【解决方案1】:

我所要做的基本上就是将端口更改为 3308,这解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-11
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多