虽然通过这种方式连接到本地主机数据库没有问题:
import MySQLdb
localdb = MySQLdb.connect( host="127.0.0.1",
user="root",
passwd="password",
db="events")我可以连接到我的在线数据库。
通常,我使用phpmyadmin手动访问此数据库,而adress类似于212.227.000.000/phpmyadmin。
所以我试了一下
onlinedb = MySQLdb.connect( host="212.227.000.000" ...或
onlinedb = MySQLdb.connect( host="212.227.000.000/phpmyadmin" ...但我得到了一个错误,例如:
OperationalError: (2003, "Can't connect to MySQL server on '212.227.000.000' (10061)")发布于 2016-09-26 15:15:02
听起来,212.227.000.000/phpmyadmin是PHPMyAdmin (在浏览器中打开的东西)的URL。如果是这样的话,数据库可能不会托管在IP 212.227.000.000的机器上。您应该检查PHPMyAdmin如何连接到数据库。如果PHPMyAdmin连接到127.0.0.1,这可能意味着数据库不会监听外部IP地址,并且无法通过网络到达。
如果您可以使用ssh访问212.227.000.000,则可以使用netstat命令进行检查:
$ netstat -pant | grep LISTEN | grep 3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN -上面的0.0.0.0表示MySQL正在监听所有is,如果没有任何防火墙,您应该能够连接到数据库。
否则,如果它说的是127.0.0.1:3306,数据库只能从机器本身访问,而不能通过网络访问。在这种情况下,您可以使用SSH隧道。
https://stackoverflow.com/questions/39706278
复制相似问题