一、封装带SSH跳板机的MYSQL

二、配置settting

 import pymysql
from sshtunnel import SSHTunnelForwarder class MyDb(object):
#mysql类方法
def __del__(self):
self.cur.close()
self.coon.close()
self.server.close() def __init__(self,host,ssh_username,ssh_password,ip,db,sql_username,password):
try:
server = SSHTunnelForwarder(
ssh_address_or_host=(host, 22),
ssh_username=ssh_username,
ssh_password=ssh_password,
remote_bind_address=(ip, 3306)
)
self.server = server
self.server.daemon_forward_servers = True #不加server关闭不了
self.server.start()
self.connect = pymysql.connect(
host='127.0.0.1',user=sql_username,passwd=password,port=self.server.local_bind_port,charset='utf8',db=db,
autocommit=True,
) except Exception as e:
print('mysql连接失败,错误信息%s'%e) else:
self.cursor = self.connect.cursor(cursor=pymysql.cursors.DictCursor) def ex_sql(self,sql,many=True):
try:
self.cursor.execute(sql)
except Exception as e:
print('sql语句有问题,%s'%sql)
else:
if many:
result = self.cursor.fetchall()
else:
result = self.cursor.fetchone()
return result #哪里用哪里实例化吧
# my_sql = MyDb(**setting.MYSQL_INFO)
#直接在这里实例化的话,用的时候,直接导入就ok了

ssh_mysql

 import os
import nnlog
BASE_PATH = os.path.dirname(
os.path.dirname(os.path.abspath(__file__))
) # MAIL_HOST='smtp.qq.com'
MAIL_HOST='smtp.exmail.qq.com'
MAIL_USER='xxxx.com'
MAIL_PASSWRD='xxxxx' TO = ['xxxx.com'
] LEVEL = 'debug' #日志级别 LOG_PATH = os.path.join(BASE_PATH,'logs')
CASE_PATH = os.path.join(BASE_PATH,'cases')
YAML_PATH = os.path.join(BASE_PATH,'case_data')
CASE_TEMPLATE = os.path.join(BASE_PATH,'conf','base.txt') #用例模板的路径
REPORT_PATH = os.path.join(BASE_PATH,'report')
DATA_PATH = os.path.join(BASE_PATH,'data') #存放测试用到数据的目录
BASE_URL = 'https://xxx.xxx.xxx.xx' #线上环境
#BASE_URL = 'http://xxx.xxx.xxx.xx' #开发环境 LOG_NAME='xxx.log' #日志的文件名 log = nnlog.Logger(os.path.join(LOG_PATH,LOG_NAME),'debug') #定义好日志 #dev环境redis配置文件
REDIS_dev = {
'host': 'xxx.xxx.xxx.xxx',
'ip' : 'xxx.xxx.xxx.xxx',
'ssh_username' : 'xxx',
'ssh_password': 'xxx',
'db':2,
'password' : 'xxx'
} #线上环境redis配置文件
REDIS_online = {
'host': 'xxx.xxx.xxx.xxx',
'ip' : 'xx.xxx.xxx.xxx',
'ssh_username' : 'xxx',
'ssh_password': 'xxxx',
'db':2,
'password' : 'xxx'
} #dev环境mysql配置文件
MYSQL_dev = {
'host': 'xxx.xxx.xxx.xxx',
'ip' : 'xx.xx.xx.xx',
'ssh_username' : 'xxx',
'ssh_password': 'xxx',
'db':'xxx',
'sql_username':'xx',
'password' : 'xxx'
} #线上环境mysql配置文件
MYSQL_online = {
'host': 'xxx.xxx.xxx.xxx',
'ip' : '172.xx.xx.xx',
'ssh_username' : 'xxx',
'ssh_password': 'xxxx',
'db':'xxx',
'sql_username':'xxx',
'password' : 'xxx'
}

setting设置

封装带SSH跳板机的MYSQL的更多相关文章

  1. 封装带SSH跳板机的REDIS

    一.封装ssh的redis 二.setting的配置 三.应用示例 import redis from sshtunnel import SSHTunnelForwarder from conf.se ...

  2. mysql ssh 跳板机(堡垒机???)连接服务器

    跳板机(Jump Server),也称堡垒机,是一类可作为跳板批量操作远程设备的网络设备,是系统管理员或运维人员常用的操作平台之一. 正常的登录流程 使用ssh命令登录跳板机: 登录跳板机成功后,在跳 ...

  3. Jmeter JDBC请求-----数据库读取数据进行参数化 通过SSH跳板机连接数据库

    前期准备: jdbc驱动:mysql-connector-java-5.1.7-bin.jar Jmeter 要链接MySQL数据库,首选需要下载mysql jdbc驱动包(注:驱动包的版本一定要与你 ...

  4. ssh隧道(通过跳板机)连接mysql

    案例: A服务器   B服务器   C服务器mysql 现在mysql服务器C只能通过内网访问,B服务器就能通过内网连接访问到mysql A服务器无法直接连接C服务器mysql,所以要通过跳板机(跳板 ...

  5. Navicat通过跳板机连接MySQL(2层跳转)

      情景描述,公司开发数据库部署在内网,而且这个开发数据库有连接需要有IP验证,就是只能在内网的某个IP才能连接,所以每次连接都会先连接外网能访问的跳板机,在从跳板机上ssh到内网上的A机器,在从A机 ...

  6. 13、ssh跳板机

    13.1.前提条件: 1.跳板机服务器和其它服务器建立了ssh秘钥登录: 2.目前的环境: (1)各服务器上都建立了lc用户,并给于sudo (lc ALL= NOPASSWD:ALL )权限,lc就 ...

  7. ssh 跳板机部署

    1.首先创建存放日志的文件夹并开放读写权限       mkdir /var/log/jump/       chmod -R 777 /var/log/jump/   2.将原有ssh程序修改为另外 ...

  8. Python通过跳板机链接MySQL的一种方法

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

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

随机推荐

  1. 转载:Web安全 之 X-Frame-Options响应头配置

    转自:https://blog.csdn.net/u013310119/article/details/81064943 项目检测时,安全报告中存在 “X-Frame-Options” 响应头缺失问题 ...

  2. Flutter 36: 图解自定义 View 之 Canvas (三)

    小菜继续学习 Canvas 的相关方法: drawVertices 绘制顶点 小菜上次没有整理 drawVertices 的绘制方法,这次补上:Vertice 即顶点,通过绘制多个顶点,在进行连线,多 ...

  3. 网络编程实现简单的ssh

    客户端:客户端实例  --->  建立连接 ----> 发送内容 ---> 接受内容. import socket client = socket.socket() client.c ...

  4. Linux学习笔记(五)Linux常用命令:压缩命令

    Linux中最常见的5中压缩格式: zip gz bz2 tar.gz tar.bz2 一..zip压缩命令 压缩文件 zip [压缩文件名] [源文件] 例如: zip zijeak.zip zij ...

  5. 2.03_01_Python网络爬虫urllib2库

    一:urllib2库的基本使用 所谓网页抓取,就是把URL地址中指定的网络资源从网络流中抓取出来.在Python中有很多库可以用来抓取网页,我们先学习urllib2. urllib2 是 Python ...

  6. PAT Advanced 1152 Google Recruitment (20 分)

    In July 2004, Google posted on a giant billboard along Highway 101 in Silicon Valley (shown in the p ...

  7. SQL 查询今天、昨天、7天内、30天的数据

    今天的所有数据: 昨天的所有数据: 7天内的所有数据: 30天内的所有数据: 本月的所有数据: 本年的所有数据: 查询今天是今年的第几天: select datepart(dayofyear,getD ...

  8. ak-1

    最近研究ak,网上也有很多这方面的资料,就不重复叙述了,本次记录就是自己在做适应时的一些记录. 本次环境 中标麒麟  金蝶apusic 人大金仓 先说说东西从哪下载怎么来的 基本都是通过官网打电话申请 ...

  9. pandas df 遍历行方法

    pandas 遍历有以下三种访法. iterrows():在单独的变量中返回索引和行项目,但显着较慢 itertuples():快于.iterrows(),但将索引与行项目一起返回,ir [0]是索引 ...

  10. MFC 下拉框Combo Box

    下拉框常用的事件是Change事件.属性常用:Data(英文;分隔),Sort(是否排序) // OnInitDialog()中 m_cbx.SetCurSel();//设置默认选项 //OnBnCl ...