公网连接内网数据库(如云数据库)时,通常需要白名单;如果不是白名单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()                #关闭数据库连接

通过ssh管道连接内网数据库(mysql)的更多相关文章

  1. 通过ssh tunnel连接内网ECS和RDS

    通过ssh tunnel连接内网ECS和RDS 这里讲了ssh tunnel的原理.很清晰. 此后又给外网访问内网增加了一种思路.感觉特别棒. 拓宽了思路:

  2. [svc]通过ssh tunnel连接内网ECS和RDS

    问题背景: 一些ECS没有访问公网的需求,或是RDS出于安全考虑只允许内网访问.但是希望远程连接这些ECS或RDS进行管理时就会比较麻烦,一般可以通过选一台有公网的ECS搭建VPN的方法来解决这个问题 ...

  3. ssh反向连接内网主机

    holer听别人说也挺好用不过本人没试过:https://github.com/Wisdom-Projects/holer 利用autossh建立稳定隧道,前提双方互加公钥信任. # yum inst ...

  4. 使用pycharm、跳板机连接内网服务器

    使用pycharm.跳板机连接内网服务器 接手实验室服务器后,大部分同学在GPU集群上跑程序都是直接在ssh界面上跑,这里想着通过pycharm通过跳板机来连接服务器. 总体就是实验室服务器仅限内网访 ...

  5. 使用putty进行ssh tunnel远程内网机器

    通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网 ...

  6. 配置windows路由表,使电脑同时连接内网外网方法

    1.环境一(系统:windows xp,内网.外网不是同一类地址,内网地址固定): 外网:通过笔记本的无线网卡连接: 内网:通过笔记本的本地连接: 第一步,连接网线,配置本地连接地址,注意IP地址不要 ...

  7. [转] 如何设置双网卡同时连接内网外网_bpao_新浪博客

    已剪辑自: http://blog.sina.com.cn/s/blog_5d3e229c0100skwe.html 如何设置双网卡同时连接内网外网 . 通过无线网络连接外网,确保连接成功后开始第二步 ...

  8. holer实现外网访问内网数据库

    外网访问本地数据库 本地安装了数据库,只能在局域网内访问,怎样从公网也能访问内网数据库? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动数据库 默认安装的数据库端口是33 ...

  9. 【转】配置windows路由表,使电脑同时连接内网外网方法

    1. 公司内部,内网和外网的网关不一样,怎么样让电脑可以同时上内网和外网呢? 来一张不相关的磁盘结构图: ----------------------------------------------- ...

随机推荐

  1. Linux下源码编译安装MySql,centeros7

    1. 安cmake工具 # yum install -y cmake 2. 创建mysql用户  #useradd -s /sbin/nologin mysql  //设置为非登陆用户(安全) 3. ...

  2. Linux Shell Web超级终端工具shellinabox

    Shell是Linux内核应用程序,是指“为使用者提供操作界面”的软件,也是命令解析器,它类似于Windows操作系统DOS下的cmd.exe应用程序.它接收用户命令,然后调用相应的应用程序,用户一般 ...

  3. 《Python基础教程》第五章:条件、循环和其他语句

    在Python中赋值运算和比较运算是可以连接的,运算符可以连在一起使用,如:0<age<100 ==运算符判定两个对象是否相等,is判定两者是否等同(同一个对象) 断言,在错误条件出现时直 ...

  4. 微信退款SpringBoot读取resource下的证书

    微信支付退款接口,需要证书双向验证,测试的时候证书暂时放在resource下,上图 起初MyConfig中我是这样,在本机IDE中运行没有问题 但到Linux服务器的docker中运行就IO异常了,查 ...

  5. App支付宝登录授权

    一.在支付宝开放平台申请App应用,并且配置后台信息 https://openhome.alipay.com/platform/appManage.htm#/apps 填写自己的申请信息 添加应用功能 ...

  6. docker下安装运行mysql的过程以mysql5.7为例

    一.查找mysql资源 docker search mysql 其实这步顶多是看看有哪些mysql资源,除非你自己commit过一个特定的版本,否则直接执行下一步 二.安装mysql docker p ...

  7. Linux Tomcat 文件上传异常

    如题: ERROR > The temporary upload location [/tmp/tomcat.7982919351026796141.9097/work/Tomcat/local ...

  8. react-缓存

    目录结构: 用到缓存的地方: 缓存的方法 清楚缓存

  9. java常见问题 ——编辑报错1

    报错1 The method add(CatNode) in the type List<CatNode> is not applicable for the arguments (Str ...

  10. POJ2176 Folding

    POJ2176 Folding 描述 给定一个长度不超过100的字符串,求其"压缩"后长度最短的字符串.如有多个,输出任意即可. 其中对于一个字符串\(str\)的"压缩 ...