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

代码如下

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)

猜你喜欢

转载自blog.csdn.net/nixonwuying/article/details/88390017