python 3 SSH链接MYSQL数据库执行操作

本文介绍了一种通过SSH隧道实现远程MySQL数据库连接的方法。使用pymysql和sshtunnel库,可在本地与远程数据库之间建立安全通道,适用于需要跨网络访问数据库的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码如下

import pymysql
from sshtunnel import SSHTunnelForwarder



# 传入实例名和sql,返回查询结果
def SSHMysql(DB, SQL):
    # 配置SSH连接
    server = SSHTunnelForwarder(
        ssh_address_or_host=('140.130.74.54', 4888),  # 指定ssh登录的跳转机的address
        ssh_username='***',  # 跳转机的用户
        ssh_password='***',  # 跳转机的密码
        local_bind_address=('127.0.0.1', 1268),  # 映射到本机的地址和端口
        remote_bind_address=('16.1.24.201', 61113))  # 数据库的地址和端口
    server.start()  # 启用SSH
    # 数据库账户信息设置
    db = pymysql.connect(
        host="127.0.0.1",  # 映射地址local_bind_address IP
        port=1268,  # 映射地址local_bind_address端口
        user="*****",
        passwd="*****",
        database='db_cust',  # 需要连接的实例名
        charset='utf8')

    cursor = db.cursor()
    cursor.execute(SQL.encode('utf8'))  # 执行SQL
    data = cursor.fetchall()  # 获取查询结果

    # 关闭数据库连接
    cursor.close()
    return data


if __name__ == "__main__":
   SQL="SELECT * FROM t_cust_batch;"
   SelectResult = SSHMysql('db_cust', SQL)

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值