python 内网堡垒机链接数据库

from PyMySQL import pymysql

from sshtunnel import SSHTunnelForwarder

import sshtunnel

# DEV测试环境

# db=pymysql.connect(host='',

#                      user='sa',

#                      password='Sa',

#                      database='ub')



# #UAT环境

server = SSHTunnelForwarder(

    ssh_address_or_host="f.s.com",                           #堡垒机

    ssh_port=60022,                                                 #端口号

    ssh_username='zhn',                         

    ssh_pkey='~\.ssh\id_rsa', 

    ssh_password="wW0O",                     #密码验证太慢,私钥验证代码链接不上  ,链接ssh网关有多种方式,最后使用密码,链接数据库很慢,注释掉了其他链接网关方式                            

    remote_bind_address=("12.6.0.10", 3306),             #服务器

    local_bind_address=('0.0.0.0',10022))



server.start()



print(server.local_bind_por
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Flask可以使用多种方式链接数据库,以下是其中两种常用的方式: 1. 使用SQLAlchemy库链接数据库 首先需要安装SQLAlchemy库,可以使用以下命令安装: ``` pip install sqlalchemy ``` 然后在Flask应用中添加以下代码: ```python from flask import Flask from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///database.db' db = SQLAlchemy(app) ``` 其中,`SQLALCHEMY_DATABASE_URI`是数据库链接地址,这里使用SQLite数据库作为例子。如果使用其他数据库,需要将链接地址改为对应的格式。 2. 使用Flask自带的SQLite库链接数据库 Flask自带了一个SQLite库,可以直接在Flask应用中使用。以下是链接SQLite数据库的代码: ```python import sqlite3 from flask import Flask, g app = Flask(__name__) DATABASE = 'database.db' def get_db(): db = getattr(g, '_database', None) if db is None: db = g._database = sqlite3.connect(DATABASE) return db @app.teardown_appcontext def close_connection(exception): db = getattr(g, '_database', None) if db is not None: db.close() ``` 在上述代码中,`get_db()`函数用于获取数据库连接,`close_connection()`函数用于关闭数据库连接。在Flask应用中,可以通过以下方式使用数据库: ```python @app.route('/') def index(): cur = get_db().cursor() cur.execute('SELECT * FROM users') users = cur.fetchall() return str(users) ``` 以上代码执行一个SELECT语句,并返回查询结果。可以根据需要修改SELECT语句或者执行其他SQL语句。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值