我有一个MySQL数据库托管在“arvixe”(并由cPanel管理)。我可以通过我的PC上的“MySQL Workbech”连接到它,所以我建议我正确创建它。从Cloud9 python应用程序无法连接到MySQL数据库(托管在arvixe)
我在CLOUD9举办一个Python应用程序(如电报机器人),所以我用下面的代码连接到数据库:
import MySQLdb
# Open database connection
db = MySQLdb.connect("weongame.com","weonwii_ceux","<here my pass>","weonwii_Forms_Bot")
结果是,很长一段时间后(我supose那任何一种“超时”)时,控制台显示下一个回溯:
Traceback (most recent call last):
File "/home/ubuntu/workspace/bot.py", line 9, in <module>
db = MySQLdb.connect("weongame.com","weonwii_ceux","<here my pass>","weonwii_Forms_Bot")
File "/usr/local/lib/python3.4/dist-packages/MySQLdb/__init__.py", line 81, in Connect
return Connection(*args, **kwargs)
File "/usr/local/lib/python3.4/dist-packages/MySQLdb/connections.py", line 204, in __init__
super(Connection, self).__init__(*args, **kwargs2)
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on 'weongame.com' (110)")
所以我把重点放在主要的错误:_mysql_exceptions.OperationalError:(2003,“无法连接到MySQL服务器上的“weongame。 com'(110)“)
我刚刚在cPanel上找到了“远程MySQL”部分。我不知道我必须在那里介绍的确切IP,所以我写了c9.io(作为主机名和IP地址),https://forms-bot-ceuxdruman.c9users.io(Cloud9说我的应用程序正在运行,尽管它是一个简单的脚本,而不是网页/网络应用程序)以及向我的Cloud9工作区的Ubuntu控制台询问的IP地址。但是在介绍所有这些知识之后(考虑IP可能是动态的),结果完全一样。
我也知道arvixe允许这种外部连接,所以这不是一个可能的原因。
任何可能导致错误的想法?提前致谢。
编辑:我用
import socket
socket.gethostbyname(socket.gethostname())
找出正在运行我的机器人真正的IP,然后我把它变成了“远程MySQL”部分为别人,但结果却是,再次, 一模一样。