Python通过跳板机连接远程MySQL

一般公司的数据库在一个远程服务器里,而这个服务器需要链接跳板机才可以访问,常用的数据库客户端工具都支持配置SSH隧道,可以通过SSH隧道连接远程服务。但python脚本如何访问数据库呢,我们可以借助sshtunnel这个库来实现。


from sshtunnel import SSHTunnelForwarder
import records

with SSHTunnelForwarder(
        ('jump-server', 22),
        ssh_username="root",
        ssh_pkey=r"C:\Users\LH\.ssh\id_rsa",
        remote_bind_address=('target-server', 3306),
        local_bind_address=('127.0.0.1', 3306)
        ) as server:
    
    db = records.Database(f'mysql+pymysql://root:pwd@{server.local_bind_address[0]}:{server.local_bind_address[1]}/code')

    result = db.query('select name from base_areas limit 3')

    print(result.as_dict())

Python通过跳板机连接远程MySQL
https://blog.yjll.blog/post/adfcf5ef.html
作者
简斋
发布于
2020年11月6日
许可协议