python 使用mysqldb模块通过ssh隧道连接mysql
出于安全考虑,数据库服务器只允许堡垒机通过ssh访问,这对日常的使用带来了麻烦。昨天的工作中,就遇到了这样的问题,mysql数据库放在了服务器A上,只允许服务器B来访问,而我在机器C上,可以通过ssh连接服务器B。为了解决在机器C上连接mysql这个问题,用百度搜索解决方法,遗憾的是,找不到什么靠谱的,最后,还是×××用了google,终于找到了一种简单可靠的方法。把google赶出中国,让中国的IT技术退步了10分钟。
import MySQLdbfrom sshtunnel import SSHTunnelForwarderwith SSHTunnelForwarder(('sshhost.domain.com', 22), #B机器的配置ssh_password="sshpasswd",ssh_username="sshusername",remote_bind_address=('mysqlhost.domain.com', 3306)) as server: #A机器的配置,数据库IP,端口conn = MySQLdb.connect(host='127.0.0.1', # 此处必须是是127.0.0.1port=server.local_bind_port,user='user', # 数据库用户passwd='password', # 数据库密码db='dbname') # 库名
转载于:https://blog.51cto.com/moerjinrong/2149354
python 使用mysqldb模块通过ssh隧道连接mysql相关推荐
- python mysql ssh隧道_在python中使用ssh隧道连接mysql
通常为了保证数据库安全,不会允许直接连接数据库,而是需要通过SSH隧道去连接服务器背后的数据库: 今天我在用Python连接远程的MySQL时,直连遇到了无法连接的情况,使用了SSH隧道之后解决了问题 ...
- centos mysql ssh连接,使用SSH隧道连接MYSQL
1. 概述 本文介绍了如何使用SSH隧道连接MySQL,网络隔离导致无法直接访问数据库的问题. 第2节对需求进行了简单的描述:第3节介绍了linux环境下,如何通过SSH隧道连接MySQL:第4节介绍 ...
- 通过navicat工具利用SSH隧道连接MySQL数据库
前言:因为那台服务器信息比较重要,希望通信被加密,所以不适合直接将3306端口开放到公网.被加密了,而实际情况,可能通过公网访问数据库的需求,可考虑利用SSH隧道连接远程MySQL数据库. 如下连接不 ...
- ssh隧道 mysql,如何通过SSH隧道连接MySQL
Hello Guys, I''m trying to have an desktop app that will connect my website MySQL database. I have d ...
- Navicat使用SSH隧道连接MySQL
1.正常打开连接窗口,选择SSH: 2.填写完SSH对应参数,重新选择常规: SSH参数: 主机 => 服务器IP 端口 => 22 [一般22,SSH监听端口] 用户名 => 登录 ...
- 通过ssh隧道连接mysql
ssh -fN -L3307:127.0.0.1:3306 -p54231 username@127.0.0.1 L3307 :本地服务器映射端口 127.0.0.1:3306 :mysql 服务器i ...
- 利用SSH隧道连接远程MySQL数据库
文章目录 一.前言 二.MySQL服务端 三.MySQL客户端 1.通过navicat工具利用SSH隧道连接MySQL数据库 2.手动建立端口转发规则(以linux为例) 3.使用jsch进行端口转发 ...
- mysql ssh隧道连接内网mysql
通过SSH隧道连接MySQL数据库 一.背景 问题所在:MySQL被运用于越来越多的业务中,在关键业务中对数据安全性的要求也更高,数据安全如果只靠MySQL应用层面显然是不够的,虽然说MySQL实现的 ...
- python中mysqldb模块_python中MySQLdb模块用法实例
本文实例讲述了python中MySQLdb模块用法.分享给大家供大家参考.具体用法分析如下: MySQLdb其实有点像php或asp中连接数据库的一个模式了,只是MySQLdb是针对mysql连接了接 ...
最新文章
- c语言选择题写小写字母表,C语言选择题(最全版).doc
- eclipse java 运行快捷键_java – 可以使用Eclipse中的键盘快捷方式启动/停止Tomcat吗?...
- 程序员如何用Python了解女朋友的情绪变化?
- 双向链表简单实现及图示
- 怎么开发一个npm包
- 腾讯副总裁姚星:腾讯AI Lab将致力打造通往AGI之路
- BZOJ3435[Wc2014]紫荆花之恋——动态点分治(替罪羊式点分树套替罪羊树)
- 延迟关机_苹果电脑到底需不需要关机?关机和休眠你选择哪个
- 【Linux学习篇】This virtual machine is configured for 64-bit guest operating systems.……
- 微服务 前台调用后台的慢的原因_20年IT农民工分享SpringCloud微服务架构实战文档...
- vSAN ReadyNode™中可以(也不能)更改的内容
- 山山的数学(简单版)
- Java网络编程学习汇总
- Ubuntu的HBase2.2.2安装
- 安卓刷机及刷机包制作教程
- 工作三年,回顾一下工作历程
- 车马邮件都慢,一生只够爱一个人
- Kubernetes 节点调度原理及调度策略
- python好学吗一般要学多久-Python好学吗?精通Python需要多长时间?
- [02]Hello World!
热门文章
- (转)RemoteView 设置控件属性
- php 算法 数字比较,数据两两比较的高效算法?
- python实现2048游戏_python实现一个简单的2048游戏
- flash 林度_flash动画的视频应用
- Qt学习(四):qt读写文件
- MFC子窗口和父窗口(SetParent,SetOwner)
- VC++获取屏幕大小第二篇 物理大小GetDeviceCaps 上
- Windows API的时间结构体、时间转换及时间获取
- 如何完美的将对话框设置成无边框无标题栏样式?
- 吴恩达深度学习笔记6-Course2-Week2【优化算法】