我想在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
任何人都可以指向正确的方向吗?在此先感谢