python3通過ssh隧道連接mysql
# -*- coding: utf-8 -*-
import pymysql
from sshtunnel import SSHTunnelForwarder
server = SSHTunnelForwarder(
ssh_address_or_host=('IP', 22), # 指定ssh登錄的跳轉機的address
ssh_username='root', # 跳轉機的用戶
ssh_password='sshpasswd', # 跳轉機的密碼
remote_bind_address=('阿里雲rds的內網地址', 3306))
server.start()
myConfig = pymysql.connect(
user="usr",
passwd="passwd",
host="127.0.0.1",
db="db",
port=server.local_bind_port,
cursorclass=pymysql.cursors.DictCursor)
# 連接數據庫
cursor = myConfig2.cursor()
# 查詢並打印數據
cursor.execute('SELECT * FROM mytable LIMIT 10')
print(cursor.fetchall())