我有一個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」部分爲別人,但結果卻是,再次, 一模一樣。