gpt4 book ai didi

python mysql.connector 模块使用错误的 IP 地址

转载 作者:行者123 更新时间:2023-11-29 16:14:53 26 4
gpt4 key购买 nike

我在脚本中使用 python mysql.connector 模块时遇到问题。当我从我的脚本运行连接到运行 mysql v8 的 docker 容器时,它尝试连接到错误的 IP 地址。下面是示例函数:

import mysql.connector
def connect():
db = mysql.connector.connect(
host="172.17.0.2",
user="user",
passwd="password",
auth_plugin='mysql_native_password')

运行时,会产生以下错误:mysql.connector.errors.ProgrammingError:1045(28000):用户'user'@'172.17.0.1'访问被拒绝(使用密码:YES)

这是我尝试连接的 docker 容器的 IP

IP地址": "172.17.0.2"

真正有趣的是,在交互式 python session 中使用时,我可以使用 mysql.connector 很好地连接到数据库。见下文

Python 3.7.2 (default, Jan 16 2019, 19:49:22) 
[GCC 8.2.1 20181215 (Red Hat 8.2.1-6)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import mysql.connector
>>> db = mysql.connector.connect(
... host="172.17.0.2",
... user="user",
... passwd="passwd",
... auth_plugin='mysql_native_password')
>>> mycursor = db.cursor()
>>> mycursor.execute("show databases")
>>> for x in mycursor: print(x)
...
('food',)
('information_schema',)

这是我在 Fedora 29 上运行的 mysql-connector 版本

pip list |grep mysql-connector
mysql-connector-python 8.0.15

这里还有 docker 版本信息

Client:
Version: 18.09.2
API version: 1.39
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 04:13:54 2019
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.2
API version: 1.39 (minimum version 1.12)
Go version: go1.10.6
Git commit: 6247962
Built: Sun Feb 10 03:47:25 2019
OS/Arch: linux/amd64
Experimental: false

对于什么会导致从脚本运行此命令失败有什么想法吗?

最佳答案

该脚本不会尝试连接到错误的 IP。错误信息

mysql.connector.errors.ProgrammingError: 1045 (28000): Access denied for user 'user'@'172.17.0.1' (using password: YES)

意味着通过此主机 172.17.0.1 访问的用户 user 将无法连接到您尝试在 172.17 访问的数据库.0.2。您需要做的是allow remote MySQL connection来自此用户 user 的主机 172.17.0.1,这将使脚本能够按预期工作。

更新:不确定这是否相关,但 python 脚本显示密码是 password 并且控制台显示密码是 passwd。如果已允许远程访问,请确保您输入的密码正确

关于python mysql.connector 模块使用错误的 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54915492/

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