在这里阅读了很多线程后,我没有解决问题,我的代码与在此网站(freemysqlhosting.net)中创建的免费数据库一起使用,但不适用于托管网站上的自己的数据库。我的代码(“ ******”代表隐私):
#!/usr/bin/python3
import pymysql
db = pymysql.connect("sql.******.it", "******", "******", "******")
cursor = db.cursor()
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()
print(results)
db.close()
出现错误:
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'sql.******.it' ([Errno 101] Network is unreachable)")
答案 0 :(得分:2)
在命令行中,我将使用ping
,然后使用nc
。我的意思是,将事情减至最少,检查是否可行。因此,首先验证主机是否有效,然后您的主机可以将其解析为IP。接下来,检查是否可以在提供的端口上连接到该主机。 Here是python中的示例。
如果我必须打赌-我想说的是,您缺少端口...请仔细检查托管服务器提供的所有名称和文档。
答案 1 :(得分:0)
您是否尝试过使用mysql.connector?那就是我用的,也许可以用
import mysql.connector
mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
passwd="yourpassword"
)
mycursor = mydb.cursor()
mycursor.execute("SELECT * FROM customers")
myresult = mycursor.fetchall()
for x in myresult:
print(x)