OperationalError: (2003, "无法连接到 'mysql2.000webhost.com' 上的 MySQL 服务器 (10060)")

0 投票
1 回答
3409 浏览
提问于 2025-04-18 06:27

我最近在学习一些基础的MySQL,并决定把它用在我比较熟悉的Python里。我已经在这个MySQL服务器上运行了一些PHP脚本,所以我知道服务器是正常工作的。但是每次我尝试连接时,都会出现这个错误:

Traceback (most recent call last):
File "E:/Geekster_Bot/Geekster_Bot Code/Geekster_Bot_alpha_API_MySQL", line 6, in <module>
db="MY DATABASE")# name of the data base
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 187, in __init__
super(Connection, self).__init__(*args, **kwargs2)
OperationalError: (2003, "Can't connect to MySQL server on 'mysql2.000webhost.com' (10060)")

我真的不太明白为什么会这样。我已经把MySQL的端口(3306)打开了,而且正如我所说,服务器和数据库都是正常的。有没有什么想法?

这是我整个MySQL连接的代码:

import MySQLdb

db = MySQLdb.connect(host="mysql2.000webhost.com", # your host, usually localhost
                 user="MY USER", # your username
                  passwd="MY PASSWORD", # your password
                  db="MY DATABASE")# name of the data base

 #you must create a Cursor object. It will let
 #you execute all the queries you need
 cur = db.cursor() 

 #Use all the SQL you like
 cur.execute("SELECT * twitch_follows_ign")

 #print all the first cell of all the rows
 for row in cur.fetchall() :
 print row[0]

所有被屏蔽的数据都是正确输入的。

1 个回答

2

你的数据库似乎在一个外部服务器上,叫做 "mysql2.000webhost.com"。在你用Python程序连接这个MySQL服务器之前,你需要先创建一个数据库用户,并且要给这个用户授权,让它能从你的IP地址访问服务器。

如果你在 "000webhost" 上使用的是免费账户,可能无法创建一个可以从外部访问数据库的用户。你可以试试这个网站 http://www.freemysqlhosting.net/,他们会允许你从任何IP地址访问新创建的数据库。

撰写回答