尝试连接到VPS上的MySQL数据库。在使用以下代码时,我得到了以下错误;
(我已经去掉了我的证书,但我知道它们是有效的,因为我也将它们用于我的PHP开发
代码
import mysql.connector as mysql
from mysql.connector import errorcode
try:
conn = mysql.connect( user= %USER%
,password=%PW%
,host = %HOST%
,database = %DB%
)
except mysql.Error as err:
if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
print("Something is wrong with your user name or password")
elif err.errno == errorcode.ER_BAD_DB_ERROR:
print("Database does not exists")
else:
print(err)
else:
conn.close()
错误消息
2003: Can't connect to MySQL server on '%HOST%:3306' (10060 A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond)
我正在使用的连接器
http://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.0.1-py3.4.msi
知道我做错了什么吗?
检查MySQL数据库上的GRANT。可能是您没有被授予使用给定用户名和密码从该主机连接的权限。
MySQL错误编号为2003。我通常觉得在谷歌上搜索一下其他人是否有这个问题很有帮助:
http://dev.mysql.com/doc/refman/5.0/en/access-denied.html
客户端机器和数据库服务器之间是否有防火墙?我希望3306端口在默认情况下会被阻塞。如果是这样,则需要设置防火墙规则,以允许从客户端IP通过端口3306访问数据库IP。