我想在python中通過ssh連接到mysql數據庫,但出現錯誤。我有以下保存在一個python文件'forward.py'中。我的代碼如下:使用SSHTunnelForwarder通過SSH連接到MySQL數據庫
forward.py
from sshtunnel import SSHTunnelForwarder
import MySQLdb
with SSHTunnelForwarder(
('ssh_host', 22),
ssh_password="ssh_password",
ssh_username="ssh_username",
remote_bind_address=('mysql_host', 3306)) as server:
con = MySQLdb.connect(user='mysql_username',passwd='mysql_password',db='mysql_db_name',host='mysql_host',port=server.local_bind_port)
當我在終端運行forward.py,收到以下錯誤:
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on
'mysql_host' (60)")
值得注意的是,的值是硬編碼值的安全性,即'mysql_host'是一個真正的主機,我可以ssh很好,當我運行時
ssh mysql_host
通過終端。我也可以使用Sequel Pro以相同的值進行連接,具體取決於:http://screencast.com/t/0niuWlMDb
任何人都可以指向正確的方向嗎?在此先感謝