from sshtunnel import SSHTunnelForwarder
from sqlalchemy import Column, String, Integer, DateTime, create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.declarative import declarative_base
mysql_host = mysql_host
mysql_port = mysql_port
mysql_user = mysql_user
mysql_password = mysql_passwd
mysql_db = mysql_db
ssh_host = ssh_host
ssh_port = ssh_port
ssh_user = ssh_user
ssh_password = ssh_passwd
Base = declarative_base()
class Behavior(Base):
__tablename__ = 'user'
id = Column(Integer, primary_key=True)
name= Column(String(100))
gender= Column(String(256))
with SSHTunnelForwarder(
(ssh_host, ssh_port), # Remote server IP and SSH port
ssh_username=ssh_user,
ssh_password=ssh_passwd,
remote_bind_address=(mysql_host, mysql_port)
) as server:
server.start() # start ssh sever
local_port = str(server.local_bind_port)
engine = create_engine('mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'.format(mysql_user,
mysql_passwd,
'127.0.0.1',
local_port,
mysql_db),
pool_recycle=1)
Session = sessionmaker(bind=engine)
session = Session()
session.query(User).filter(User.id== 1).all()
sqlalchemy通过ssh隧道连接mysql
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 系统:macOS 情形:本地开发php web,但db是要直接使用远程的aws db xxx.pem 文件放入$H...
- 转自今天下午碰到了意见很坑的事情,我使用Sequel Pro通过ssh连接我服务器的MySQL时,怎么也连不上。一...
- 案例:需要在Windows机器上使用Jmeter录制脚本,其中需要连Linux机器上的MySQL数据库。MySQL...
- 前提:安装好git 设置用户名和邮件 创建SSH Key 你需要把邮件地址换成你自己的邮件地址,然后一路回车,遇到...