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