【发布时间】:2017-08-01 06:54:41
【问题描述】:
我在 MacOS X 10.12 上使用 Python 3.5、pymysql 0.7.6。
我正在尝试使用 python 访问远程服务器中的 MySQL 数据库。我可以使用以下命令从命令行访问:
ssh root@XXX.XXX.XXX.XXX
root@XXX.XXX.XXX.XXX's password: my_server_password
然后在服务器中:
mysql my_database -p
Enter password: my_database_password
它有效,我可以用我的数据库做各种事情。现在,我尝试在 python 中做同样的事情,遵循文档或我在其他帖子中找到的大量示例:
import pymysql
cnx = pymysql.connect(host='XXX.XXX.XXX.XXX', port='3306', user='root', password='my_server_password', db='my_database')
它不起作用,出现错误:
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on 'XXX.XXX.XXX.XXX' ([Errno 61] Connection refused)")
凭据是正确的凭据,我已检查该端口是否是正确的端口,正如其他帖子中所建议的那样。我怀疑它可能与也有密码的数据库有关,而不仅仅是服务器,但我还没有找到包含两个密码的任何方法。实际上,我不确定连接命令中应该包含哪个密码,是服务器密码还是数据库密码。它不适用于他们俩。
那么,您对这里可能出现的问题有什么建议吗?或者我是否遗漏了重要的一点?
【问题讨论】:
标签: python mysql python-3.x pymysql