繁体   English   中英

Python MySQLdb连接到在线数据库

[英]Python MySQLdb connection to online database

虽然我可以通过这种方式连接到本地数据库没有问题:

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)")

听起来212.227.000.000/phpmyadmin是PHPMyAdmin的URL(您在浏览器中打开的东西)。 如果是这样,则该数据库可能不会托管在IP 212.227.000.000的计算机上。 您应该检查PHPMyAdmin如何连接到数据库。 如果PHPMyAdmin连接到127.0.0.1,则可能意味着数据库未在外部IP地址上侦听,并且无法通过网络进行访问。

如果您具有ssh访问222.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隧道。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM