私はPythonでsshを介してmysql dbに接続しようとしていますが、エラーが発生しています。私は以下をpythonファイル 'forward.py'に保存しました。私のコードは次のとおりです。SSHunnelForwarderを使用して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
誰かが正しい方向に向いていますか?事前に感謝します