pymysql 通过ssh通道调用


本地无法连接mysql,必须连到服务器上才能访问到msyql,gui工具一般都支持,python的话需要用到sshtunnel库。

代码如下

import pymysql
from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
        ("ssh服务器地址", 22),
        ssh_username="user",
        ssh_pkey="/xxx/id_rsa",
        # ssh_private_key_password="secret",
        remote_bind_address=('mysql地址', 3306),
        local_bind_address=('0.0.0.0', 10022)
) as tunnel: 

    print("connected")
    conn = pymysql.connect(host='127.0.0.1',  # 此处必须是是127.0.0.1
                           port=10022,
                           user='user',
                           passwd='password')

    cur = conn.cursor()
    cur.execute("show databases")
    print(cur.fetchall())

 password的ssh类似


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM