对python 通过ssh访问数据库的实例详解


Posted in Python onFebruary 19, 2019

通常,为了安全性,数据库只允许通过ssh来访问。例如:mysql数据库放在服务器A上,只允许数据库B来访问,这时,我们需要用机器C去访问数据库,就需要用C通过ssh连接B,再访问A。

通过pymysql连接mysql:

import pymysql
from sshtunnel import SSHTunnelForwarder

with SSHTunnelForwarder(
  (sshServerB_ip, sshServerB_port), # B机器的配置
  ssh_password=sshServerB_pwd,
  ssh_username=sshServerB_usr,
  remote_bind_address=(databaseA_ip, databaseA_port)) as server: # A机器的配置

 db_connect = pymysql.connect(host='127.0.0.1', # 此处必须是是127.0.0.1
         port=server.local_bind_port,
         user=databaseA_usr,
         passwd=databaseA_pwd,
         db=databaseA_db)

 cur = db_connect.cursor()
 cur.execute('call storedProcedure')
 db_connect.commit()

以下是自己进行事务管理,并使用peewee框架:

from peewee import *
from playhouse.db_url import connect
from sshtunnel import SSHTunnelForwarder

server = SSHTunnelForwarder(
  (sshServerB_ip, sshServerB_port), # B机器的配置
  ssh_password=sshServerB_pwd,
  ssh_username=sshServerB_usr,
  remote_bind_address=(databaseA_ip, databaseA_port)) # A机器的配置
server.start()
destination_lib = connect('mysql://%s:%s@127.0.0.1:%d/%s' % (databaseA_usr, databaseA_pwd, server.local_bind_port, databaseA_db))
'''
your code to operate the databaseA
'''
server.close()

以上这篇对python 通过ssh访问数据库的实例详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 字符串操作方法大全
Mar 11 Python
Python输出PowerPoint(ppt)文件中全部文字信息的方法
Apr 28 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
Python框架Flask的基本数据库操作方法分析
Jul 13 Python
Python读取txt内容写入xls格式excel中的方法
Oct 11 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
使用 Python 处理3万多条数据只要几秒钟
Jan 19 Python
浅析matlab中imadjust函数
Feb 27 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
python判断是空的实例分享
Jul 06 Python
如何一键升级Python所有包
Nov 05 Python
Python中快速掌握Data Frame的常用操作
Mar 31 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 #Python
深入理解Django-Signals信号量
Feb 19 #Python
python利用跳板机ssh远程连接redis的方法
Feb 19 #Python
Python获取Redis所有Key以及内容的方法
Feb 19 #Python
Python元组常见操作示例
Feb 19 #Python
python redis 删除key脚本的实例
Feb 19 #Python
Python列表切片操作实例总结
Feb 19 #Python
You might like
几个有用的php字符串过滤,转换函数代码
2012/05/01 PHP
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
如何实现php图片等比例缩放
2015/07/28 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
js给网页加上背景音乐及选择音效的方法
2015/03/03 Javascript
jQuery判断一个元素是否可见的方法
2015/06/05 Javascript
js中利用tagname和id获取元素的方法
2016/01/03 Javascript
多种JQuery循环滚动文字图片效果代码
2020/06/23 Javascript
浅谈js内置对象Math的属性和方法(推荐)
2016/09/19 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
详解微信小程序调用支付接口支付
2019/04/28 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
2019/08/22 Javascript
解决layui的radio属性或别的属性没显示出来的问题
2019/09/26 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
简单介绍Python的轻便web框架Bottle
2015/04/08 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
Python基础语言学习笔记总结(精华)
2017/11/14 Python
基于Python获取docx/doc文件内容代码解析
2020/02/17 Python
k-means 聚类算法与Python实现代码
2020/06/01 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
俄罗斯运动鞋商店:Sneakerhead
2018/05/10 全球购物
荷兰在线啤酒店:Beerwulf
2019/08/26 全球购物
求职信模板标准格式范文
2014/02/23 职场文书
简历里的自我评价范文
2014/02/24 职场文书
人事专员的岗位职责
2014/03/01 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
大学毕业生自我评价
2015/03/02 职场文书
民事调解书范文
2015/05/20 职场文书
django中websocket的具体使用
2022/01/22 Python
MySQL 数据表操作
2022/05/04 MySQL