一、封装带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. 使用Eclipse开发Java应用并部署到SAP云平台SCP上去

    1. 首先根据这个链接配置好Eclipse. 确保SAP Cloud Platform Tools for Java正确安装. 确保neo SDK的路径配置正确: 我使用的是下图这个SDK:neo-j ...

  2. Appium|Locator Strategy ... is not supported for this session

    appim server log InvalidSelectorError: Locator Strategy 'xpath,//android.widget.TextView[@resource-i ...

  3. python 只导出项目依赖包

    平时导出依赖一般都是 pip freeze >  requirements.txt   这种方式导出的是当前python环境中所有的包,只会多不会少,有些库不是必需的也跟着导出来,冗余过重. 这 ...

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

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

  5. Kubernetes的初始化容器initContainers

    initContainers是一种专用的容器,在应用程序容器启动之前运行,可以包括一些应用程序镜像中不存在的实用工具和安装脚本,可以完成应用的必要数据初始化等工作.总的来说就是在正式的容器启动之前做一 ...

  6. jQuery表单验证正则表达式-简单

    <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="C ...

  7. CentOS7.x忘记root密码如何破解

    在CentOS7.x中,有一个单用户模式.CentOS7.x进入单用户模式与CentOS6.x略有不同,要复杂一些. 如果我们忘记了root的密码,可以在单用户模式下重置密码. 注意:此操作必须在服务 ...

  8. vim技巧总结

    自动补齐CTRL+N/CTRL+P vim 自动补全 颜色设置 hi Pmenu ctermfg=black ctermbg=gray guibg=#444444 hi PmenuSel ctermf ...

  9. C#中设置double类型数据的小数长度

    如果double A=1.5321654:需要将其转换为3位小数,字符串的话A.tostring(".###")就可以,输出的是1.532: 也可以用A.ToString(&quo ...

  10. Caffe---自带工具进行网络结构(xxx.prototxt)可视化

    Caffe---自带绘图工具(draw_net.py)绘制网络结构图(xxx.prototxt) 目录: 一,安装依赖库. 二,draw_net.py使用说明. 正文: 一,安装依赖库. 在绘制之前, ...