gpt4 book ai didi

python - 如何使用python通过ip地址连接mysql?

转载 作者:行者123 更新时间:2023-11-29 18:03:27 25 4
gpt4 key购买 nike

我想尝试使用python连接MySQL数据库。

连接到 localhost 工作正常,但我无法通过 IP 地址连接到 MySQL 数据库。

这是我的代码:

#!/usr/bin/python
# -*- coding: utf-8 -*-


import MySQLdb


db = MySQLdb.connect(host="My Computer IP",
user="root", passwd="606", db="testdb",port=3306)
cursor = db.cursor()


cursor.execute("SELECT * FROM table1")


results = cursor.fetchall()


for record in results:
col1 = record[0]
col2 = record[1]
print "%s, %s" % (col1, col2)


db.close()

错误是这样的:

OperationalError: (2003, "Can't connect to MySQL server on 'My Computer IP' (111)")

我发现有人在stackoverflow上也问过类似的问题 --> Can't connect to MySQL server error 111

这个方法我已经试过了,还是不行。

我原来的文档“my.cnf”中没有skip-networking这一行。

所以基本上,mysql不应该只监听127.0.0.1。理论上mysql可以监听任何IP,我的电脑也设置了允许3306端口。

有人有什么建议吗?

最佳答案

这个答案对我有用:Trying to connect to remote MySQL host (error 2003)

我遇到了同样的错误,当我使用localhost连接数据库时,连接正常。但是从另一台电脑或数据库服务器本身使用 ip 114.***.***.*** 都失败了。我可以从另一台电脑 ping 这个 IP。

我的错误是由中间路由器引起的,当我想通过ip(不是localhost127.0.0.1)访问数据库时,连接请求被发送到路由器,然后转发到数据库服务器。并且路由器没有相关的转发规则。

所以我通过路由器的配置页面添加了一条规则,然后成功连接了数据库。

关于python - 如何使用python通过ip地址连接mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48126859/

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