gpt4 book ai didi

Python 不执行 MySQLdb 连接

转载 作者:行者123 更新时间:2023-11-29 13:00:06 25 4
gpt4 key购买 nike

我在使用 python 连接到我的托管 mysql 数据库时遇到一些问题。我的代码如下:

import MySQLdb

db = MySQLdb.connect(host="xxxxxx.db.1and1.com", user="xxxxxxx",passwd="xxxxxxx", db="xxxxxxx")

我收到以下错误:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
db = MySQLdb.connect(host="db518597727.db.1and1.com", user="dbo518597727", passwd="OilyOily123", db="db518597727")
File "C:\Python27\lib\site-packages\MySQLdb\__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "C:\Python27\lib\site-packages\MySQLdb\connections.py", line 193, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on 'xxxxxxx.db.1and1.com' (10060)")

我的sql数据库由1and1托管。我确信我拥有正确的凭据,因为当我在 php 网站上从该数据库读取数据时,使用相同的凭据(我已经进行了三次检查),它工作正常。

我已经在 Raspberry Pi(我打算使用它)和我的 Windows 8.1 PC 上尝试过此操作,所以我非常确定问题不是计算机。

任何帮助将不胜感激。
非常感谢。

最佳答案

MySQL 中,凭据是针对每个客户端的,因此我们区分了几种客户端类型:
- localhost 表示与通过 Unix Socket 连接的 MySQL 服务器相同的机器
- 127.0.0.1表示与通过TCP/IP连接的MySQL服务器在同一台机器
- A.B.C.D 其中字母替换为 0-255 范围内的数字,这表示通过 TCP/IP 连接的客户端计算机的 IP 地址
- * 是通配符,这意味着任何客户端都可以通过 TCP/IP 使用给定的凭据进行连接

MySQL users 表中的每个条目都包含客户端规范(如上所述)、用户名、密码和一些其他列(此处不相关)。

因此,您面临的问题是 1and1 服务器上的 PHP 脚本可以连接到 1and1 上托管的数据库,因为托管公司将其数据库服务器设置为接受来自其自己服务器的具有有效凭据的连接。

但是对于来自 1and1 未知的客户端计算机的连接,相同的凭据被视为无效。

您可以做的就是要求 1and1 授予您对数据库的特定 IP 访问权限。
您无法靠自己解决这个问题。

关于Python 不执行 MySQLdb 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23476830/

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