为什么在 docker 容器中连接到 python 中的 MySql 服务器时出现 InterfaceError?

Why do I get InterfaceError when connecting to MySql Server in python in a docker container?

我 运行 来自 https://github.com/aiordache/demos/tree/master/dockercon2020-demo 的代码来自一些官方 docker 博客。

我明白了

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

我什至尝试了一些解决方案,例如

self.cursor.execute('GRANT ALL PRIVILEGES ON *.* TO 'root'@'%')

或输入端口号:

    self.connection = mysql.connector.connect(
            user=user, 
            password=pf.read(),
            host=host,
            database=database,
            port='3306'
            auth_plugin='mysql_native_password'
        )

我不知道怎么了。

我刚刚删除了机密并以明文形式输入了密码。