0
我想了解我應該怎麼做才能使用SSH連接到遠程MySQL服務器。Python使用SSHTunnelForwarder和MySQLdb連接到MySQL服務器
from sshtunnel import SSHTunnelForwarder
with SSHTunnelForwarder(
('192.168.0.60', 22),
ssh_password="MySSHPASSWORD",
ssh_username="MUSSHUserName",
remote_bind_address=('192.168.0.30', 3306)) as server:
conn = MySQLdb.connect(user='UserNameOnSQLSERVER', passwd='PasswordOnSQLSERVER', host='192.168.0.60', db='myDB',
port=server.local_bind_port)
我已經能夠與上述配置扔MySQL工作臺連接到該服務器,並運行查詢和一切偉大的工作
的問題是,當我試圖通過這個數據庫連接上面的代碼中,我不斷收到錯誤:
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on '192.168.0.60' (10060)")
我也試着更改IP在MySQLdb.connect是
conn = MySQLdb.connect(user='kiboUser', passwd='[email protected]#kL68', host='192.168.0.60', db='dbKiboDashboard',
port=server.local_bind_port)
,我得到了以下錯誤:
_mysql_exceptions.OperationalError: (2003, "Can't connect to MySQL server on '192.168.0.30' (10060)")
可以請人幫助我瞭解什麼即時做錯了
感謝
您設置請澄清細節192.168.0.60和MySQL的遠程服務器在192.168.0.30上? 2.或者你有192.168.0.60上的ssh代理? 3.嘗試使用像ssh -L 3307命令創建ssh tonel:mysql-host-name.com:3306 ssh_user @ ssh_host -A然後通過端口3307上的localhost連接到MySQL? – Taras
1)MySQL服務器是192.168.0.30,我可以通過192.168.0.60達到它 –
什麼是你的server.local_bind_port值? – Taras