django连接远程mysql_通过SSH隧道的本地转发实现Django连接远程数据库

SSH连接命令

默认连接的端口为22

1. 使用私钥

ssh -p connect_port user_name@host -i your_private_identity

2. 使用用户密码

ssh user_name@host

创建SSH隧道

ssh -L 7878:localhost:3306 -p ssh_port user_name@remote_host -i your_private_identity

本机端口:目标host:目标端口

这里的目标host是localhost的原因是:已经使用ssh连接到目标主机,localhost指的是目标主机的localhost,将localhost替换成目标主机ip亦可

通过SSH隧道的本地转发实现Django连接远程数据库

创建一个ssh隧道,将远程数据库映射到本地端口

ssh -L local_port:localhost:@

ssh连接进行时,可以通过访问本地端口来访问远程数据库

在Django的settings中配置数据库

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.mysql',

'NAME': db_name,

'USER': remote_mysql_user, # 远程数据库账号密码

'PASSWORD': remote_mysql_password,

'HOST': "localhost",

'PORT': local_port, # 远程数据库映射到本地的端口

'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB;'}

}

}

至此,在使用Django的model时,将通过ssh隧道访问远程数据库

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值