zoukankan      html  css  js  c++  java
  • 通过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连接远程数据库

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

      ssh -L local_port:localhost:<remote mysql port> <username>@<remote host>
      

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

    2. 在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隧道访问远程数据库

  • 相关阅读:
    事件的基本概念
    c# 语法 字符串内插
    tcp 的编程例子
    Action 语法的简介
    wcf 的小介绍
    Socket编程
    c# base new 等关键字基础
    虚函数和继承的关系
    arraylist,list ,数组区别
    Python爬虫-selenium模拟豆瓣电影鼠标下拉
  • 原文地址:https://www.cnblogs.com/luozx207/p/11765031.html
Copyright © 2011-2022 走看看