4
我想通过SSH将我的python程序连接到远程MySQL数据库。通过SSH连接到MySQL数据库
我使用Paramiko进行SSH和SQLAlchemy。
这是我到目前为止有:
import paramiko
from sqlalchemy import create_engine
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('host', port=port, username='user', password='pass')
engine = create_engine('mysql+mysqldb://user:[email protected]/db')
我得到一个错误:
sqlalchemy.exc.OperationalError: (_mysql_exceptions.OperationalError) (2003, "Can't connect to MySQL server on 'mcsdev.croft-it.com' (60)")
如果服务器通过主机名是已经上市,为什么不从远程自身授予对数据库的访问?似乎有点多余通过SSH连接,然后到MySQL服务器 – fechnert
因为该程序将分发到许多不同的网站,我们不知道IP。我可以添加一个通配符,但我不认为这会是理想的 – Mantis
但是,如果在该应用程序运行的每个服务器上都有一个公共ip地址(对于ssh部分),则可以连接到数据库本身。 – fechnert