一、封装带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设置

最新文章

  1. Python基本语法
  2. Shell 编程基础之变量和环境变量
  3. 友盟分享SDK集成步骤
  4. Vijos1834 NOI2005 瑰丽华尔兹 动态规划 单调双端队列优化
  5. JS时间戳比较大小:对于一组时间戳(开始时间~结束时间)和另一组时间戳进行比较,用于判断被比较时间戳组是否在要求范围内
  6. LINUX下C语言编程调用函数、链接头文件以及库文件
  7. android 数据重构(仿淘宝浏览记录,足迹)
  8. 零基础入门微信小程序开发
  9. 解决配置Windows Update失败问题
  10. 【JavaScript】轮播图
  11. (转)jira7.2安装、中文及破解
  12. sql的简单操作
  13. 我发起了一个 .Net 开源 跨平台 GUI (界面开发框架)项目 HtmlCore
  14. hash的排序(转载)
  15. 第六次spring会议
  16. open-falcon ---安装Dashboard时候报错"SSLError: The read operation timed out"
  17. java 线程Thread 技术--线程创建源码解释
  18. iconfont项目成员添加不进去的问题
  19. c++友元函数之---一种特殊的友情
  20. mac 特殊符号的操作

热门文章

  1. 如何对Nginx日志文件进行切割保存
  2. excel隔行取数据
  3. java面试知识记录
  4. 微信小程序中concat 和push的区别
  5. 浅谈IT人的发展(转载)
  6. Java入门第三季——Java中的集合框架(中):Map&HashMap
  7. memory management Vulkan
  8. python中else与finally的总结
  9. vue 后退不刷新,前进刷新 keep-alive
  10. Java8-Stream-No.02