zoukankan      html  css  js  c++  java
  • 通过ssh管道连接内网数据库(mysql)

      公网连接内网数据库(如云数据库)时,通常需要白名单;如果不是白名单IP,通常需要一个跳板机(类似代理)来连接内网数据库,

    下方以mysql为例(其他数据库基本一致):


    import pymysql as mysql
    from sshtunnel import SSHTunnelForwarder

    server=SSHTunnelForwarder((SSH.IP,SSH.PORT),      #跳板机ip及端口
      ssh_username=SSH.USERNAME,                  #跳板机账号
      ssh_password=SSH.PASSWORD,                #跳板机密码
      remote_bind_address=(DATABASE.IP,DATABASE.PORT))          #目标数据库服务器ip、端口


    server.start()                  #启动连接管道
    conn = mysql.connect(
      host='127.0.0.1',                #此处必须是是127.0.0.1
      port=server.local_bind_port,          #api固定写法
      user=DATABASE.USERNAME,              #目标数据库账号
      passwd=DATABASE.PASSWORD,          #目标数据库密码
      db=DATABASE NAME)                #目标数据库名称

    cur=conn.cursor()              #获取数据库游标
    sql="select * from fq_wealth_user where login_name='test888';"
    cur.execute(sql)              #执行sql
    AllData=cur.fetchall()            #获取所有执行sql的结果
    print(AllData)
    #conn.commit()
    cur.close()                #关闭游标
    conn.close()                #关闭数据库连接

  • 相关阅读:
    八. 输入输出(IO)操作2.面向字符的输入流
    八. 输入输出(IO)操作1.输入输出基本概念
    七. 多线程编程11.线程的挂起、恢复和终止
    七. 多线程编程10.线程死锁
    nginx 配置身份验证 http_auth_basic_module
    liunx mysql 备份
    8080 端口只允许内网访问配置
    nginx 配置白名单
    liunx tomcat 运行模式apr
    liunx contos 7.4 安装redis集群
  • 原文地址:https://www.cnblogs.com/whitemouseV2-0/p/11316929.html
Copyright © 2011-2022 走看看