通过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()                #关闭数据库连接

原文地址:https://www.cnblogs.com/whitemouseV2-0/p/11316929.html

时间: 2024-10-11 07:40:18

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

通过ssh tunnel连接内网ECS和RDS

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

如何使用Navicat连接阿里云内网数据库。

打开Navicat 点击连接,填写数据库相关信息. 选择SSH模块,勾选时候SSH通道.填写服务器的相关信息. 点击确定,这就是使用Navicat连接阿里云内网数据库. 注:使用内网地址登录数据库,安全,不占用带宽.

外网主机A连接内网主机B

实现通过外网的主机A连接内网的主机B 设置内网主机B免密登陆外网主机A 在主机B中输入下面的命令,并且一直回车: ssh-keygen 然后会在/root/.ssh/下生成2个文件:id_rsa和id_rsa.pub. 可以用下面的命令查看: ls /root/.ssh/ 在外网主机A中建立自己的文件夹,用来存id_rsa.pub文件.把内网主机B中的id_rsa.pub发到外网主机A的文件夹中: scp ~/.ssh/id_rsa.pub [email protected]123.206.18

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

通常我们通过登录具有外网ip的远程机器来连接内网的机器:本文介绍,通过putty进行ssh tunnel,进而达到使用本机直接连接远程内网机器: 1,在putty中创建一个session,输入具有外网ip的node信息: 2,在connection下面找到SSH,打开SSH点击tunnel输入source port,source port是你想在本机使用的端口,destination是远程内网机器和端口:保证你的login的node可以和destination的机器能够相通: 3,回到sessi

公网访问内网数据库--Haproxy配置

Haproxy配置外网访问内网mysql 本台机器的外网ip:106.23.22.1 内网数据库ip:10.10.10.1 1.安装haproxy yum -y install haproxy vim /etc/haproxy/haproxy.cfg 2.需要在haproxy配置文件后端配置中(haproxy.cfg)添加以下配置即可 ########backend后端配置############## listen mysql bind 0.0.0.0:3307 #此处指定的允许哪个ip以及使用

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

1.环境一(系统:windows xp,内网.外网不是同一类地址,内网地址固定): 外网:通过笔记本的无线网卡连接: 内网:通过笔记本的本地连接: 第一步,连接网线,配置本地连接地址,注意IP地址不要与其它在用ip冲突: 下图,本地连接配置10.9.1.189的内网地址. 外网地址,则由笔记本的无线网卡连接到路由器,自动获得的p地址,本机获得的IP地址为192.168.1.115. 现在测试,内网可以ping通其它任意主机,外网也连接,但打开浏览器,不能上网: 如果拔掉网线,外网就可以上网. 第

使用frp通过ssh访问公司内网机器

https://github.com/fatedier/frp/ github地址(具有中文文档)从Release页面下载安装包本次是使用frp_0.20.0_linux_amd64.tar.gz版本通过SSH访问公司内网服务器1,将frp_0.20.0_linux_amd64.tar.gz解开后的 frps 及 frps.ini 放到具有公网 IP 的机器上. # frps.ini [common] bind_addr=0.0.0.0 //本地IP bind_port = 7000 //绑定本

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

外网访问本地数据库 本地安装了数据库,只能在局域网内访问,怎样从公网也能访问内网数据库? 本文将介绍使用holer实现的具体步骤. 1. 准备工作 1.1 安装并启动数据库 默认安装的数据库端口是3306. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信息 在holer官网上申请专属的holer access key

如何用navicat连接阿里云内网的mysql数据库

1.首先用ssh连接阿里云服务器 2.连接mysql数据库 设置完这两项就可以连接阿里云内网mysql数据库 原文地址:https://www.cnblogs.com/SeaWxx/p/9969007.html