pymysql 连接需要 ssh 跳转的 mysql

需要用到 sshtunnel库,代码如下:

import pymysql
from sshtunnel import SSHTunnelForwarder

def onlinemysql(sql_select):

"""使用pymysql模块通过SSHTunnelForwarder隧道连接mysql"""

with SSHTunnelForwarder(
         (跳板机服务器地址 , 8066),    #B机器的配置
         ssh_password=跳板机账号密码,
         ssh_username=跳板机账号用户名,
         remote_bind_address=(服务器地址 ,  8066)) as server:  #A机器的配置

    db = pymysql.connect(host=127.0.0.1,              #此处必须是是127.0.0.1
                           port=server.local_bind_port,
                           user=服务器账号用户名r,
                           passwd=服务器账号密码,
                           charset = utf8,
                           db=服务器连接数据库名)
    # 使用 cursor() 方法创建一个游标对象 cursor
    # 设置游标类型,默认游标类型为元祖形式
    # 将游标类型设置为字典形式
    cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

    # 使用 execute()  方法执行 SQL 查询
    cursor.execute(sql_select)

    db.commit()

    # 使用 fetchone() 方法获取单条数据.
    data = cursor.fetchone()

    print("通过mysql查询到的数据 : %s " % data)

    # 关闭数据库连接
    db.close()

return data

 

pymysql 连接需要 ssh 跳转的 mysql

上一篇:mysql启动异常之--TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS


下一篇:oracle 11gR2静默silent安装