Python中的MySQL连接器



尝试连接到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。

相关内容

  • 没有找到相关文章

最新更新