Django通过ssh连接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隧道访问远程数据库

【译】SSH隧道:本地和远程端口转发

本文是:SSH Tunnel - Local and Remote Port Forwarding Explained With Examples 的译文 有两种方法可以创建SSH隧道,本地和远程端口 ...

SSH的端口转发:本地转发Local Forward和远程转发Remote Forward

关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...

SSH隧道:端口转发功能详解

SSH系列文章: SSH基础:SSH和SSH服务 SSH转发代理:ssh-agent用法详解 SSH隧道:端口转发功能详解 1.1 ssh安全隧道(一):本地端口转发 如下图,假如host3和host ...

ssh隧道实现端口转发

ssh隧道实现端口转发 本地转发 # 本地转发 ssh -g -f -N -L : root@ # -L 本地端口转发,转发172.16.1.1主机可以访问的资源,这里为转发172.16.1.2的80 ...

Django 连接 MySQL 数据库及常见报错解决

目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...

本地windows下PHP连接远程oracle遇到的诸多问题

任务目的:本地windows下PHP连接远程服务器下的oracle. 必须必须 确定服务器的数据库版本,如果本地的驱动和对方服务器版本不一致,会导致许多报错. 已知的oracle版本  分为 32位的 ...

Django 连接mysql数据库中文乱码

Django 连接mysql数据库中文乱码 2018年08月25日 20:55:15 可乐乐乐乐乐 阅读数:566   版本:CentOS6.8 python3.6.4 django1.8.2 数据库 ...

django连接mysql数据库以及建表操作

django连接mysql数据库需要在project同名的目录下面的__init__.py里面加入下面的东西 import pymysql pymysql.install_as_MySQLdb() 找 ...

随机推荐

sql server 锁

锁模式 锁模式 说明 共享 (S) 用于不更改或不更新数据的读取操作,如 SELECT 语句. 更新 (U) 用于可更新的资源中. 防止当多个会话在读取.锁定以及随后可能进行的资源更新时发生常见形式 ...

Mvc action间的传值

1, Mvc action间的传值? TempData["student"] ="123" 在系列文章5中,介绍 ...

获取iOS设备信息的编程接口

参考资料: [1] 博客园,iOS屏幕尺寸和分辨率了解 [2] 张兴业,获取手机信息(UIDevice.NSBundle.NSLocale), CSDN

13个不可不知的ASP.NET MVC扩展点

13个不可不知的ASP.NET MVC扩展点 ASP.NET MVC设计的主要原则之一是可扩展性.处理管线(processing pipeline)上的所有(或大多数)东西都是可替换的.因此,如果您不 ...

NSRange:NSMakeRange

NSRange:NSMakeRange(6, cardNo.length - 10) [cardNo stringByReplacingCharactersInRange:NSMakeRange(6, ...

JavaScript之jsx&;react

1.Virtual DOM 1.将网页所有内容映射到一颗树形结构的层级对象模型上,浏览器提供对dom的支持,用户可以是用脚本调用dom,api来动态修改dom节点,从而达到修改网页目的,这种修改是浏览 ...

(译)MySQL的10个基本性能技巧

原文出处:https://www.infoworld.com/article/3210905/sql/10-essential-performance-tips-for-mysql.html MySQ ...

WPF 格式化输出- IValueConverter接口的使用 datagrid列中的值转换显示

以前在用ASP.NET 做B/S系统时,可以方便地在GRIDVIEW DATAList等数据控件中,使用自定义的代码逻辑,比如 使用 这 ...

Vuejs——(6)Vuejs与form元素

版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   资料来于官方文档: http://cn.vuejs.org/guide/forms.html 本 ...

linux下导入导出数据库

导入导出数据库用mysqldump命令,使用方法与mysql命令类似. 导出 导出sql(包含数据和表结构):mysqldump -uroot -p dbname > dbname.sql 导出 ...

你可能感兴趣的:(Django通过ssh连接mysql_通过SSH隧道的本地转发实现Django连接远程数据库)