python 连接跳板机之后连接数据库
import pymysql
from sshtunnel import SSHTunnelForwarder
# 程序主入口
if __name__ == "__main__":
# 跳板机SSH连接
with SSHTunnelForwarder(
('跳板机name', 22),
ssh_username="user_name",
ssh_pkey="C:/Users/Carry/.ssh/id_rsa",#本机的公钥路径
remote_bind_address=('dbhost', 3306) # 连接的域名
) as tunnel:
# 数据库连接配置,host默认127.0.0.1不用修改
conn = pymysql.connect(
host='127.0.0.1',
port=tunnel.local_bind_port,
user='dbuser',
password='dbpassword',
db='dbname',
charset='utf8',
cursorclass=pymysql.cursors.DictCursor
)
# 获取游标
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
# 查询数据库,查询一条数据,其他CURD操作类似
sql = "SELECT count(1) FROM user"
cursor.execute(sql)
info = cursor.fetchone()
print(info)
# 关闭连接
cursor.close()
conn.close()