Python MySQLdb连接到在线数据库

时间:2016-09-26 15:06:08

标签: python mysql

虽然我没有问题以这种方式连接到我的localhost数据库:

import MySQLdb

localdb = MySQLdb.connect( host="127.0.0.1",    
                           user="root",         
                           passwd="password",           
                           db="events")

我可以连接到我的在线数据库。

通常我使用 phpmyadmin 手动访问此数据库,地址类似于 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)")

1 个答案:

答案 0 :(得分:1)

听起来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正在侦听所有IP,并且禁止任何防火墙,您应该能够连接到数据库。

否则,如果显示127.0.0.1:3306,则只能从计算机本身访问数据库,而不能通过网络访问数据库。在这种情况下,您可以使用SSH隧道。