【问题标题】:How to connect Django to remote MySQL database over ssh tunnel?如何通过 ssh 隧道将 Django 连接到远程 MySQL 数据库?
【发布时间】:2021-02-01 07:59:43
【问题描述】:

我可以使用带有hostuserpassword 的 ssh 隧道访问远程 MySQL 数据库。

我可以通过SSH HostnameSSH UsernameSSH Password 使用 ssh 隧道访问 MySQL Workbench 中的数据库。

我还可以使用带有HostUser namePassword 的 ssh 隧道访问 Pycharm。

我正在尝试将 Django 连接到 MySQL 数据库。 是否可以将 SSH 设置添加到 Django 设置文件中的这些数据库设置并通过 Django 访问?

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',  
        'NAME': '<DATABASE NAME>',                     
        'USER': '<USER NAME>',
        'PASSWORD': '<PASSWORD>',
        'HOST': '<HOST>', 
        'PORT': '3306'    
    }
}

【问题讨论】:

    标签: mysql django ssh ssh-tunnel


    【解决方案1】:

    我认为你可以通过集成sshtunnel 包来做到这一点。

    如果您可以完全控制何时建立数据库连接,则可以将 SSHTunnelForwarder 包装器放在 SQL 代码周围,您在 with 语句中执行的任何 SQL 代码都将能够连接到数据库——但外部代码该声明不会。因此,当您使用 Django 时,这也无济于事,因为它的 MySQL 代码隐藏在 Django 库的深处,并且用 with 语句包装它会非常棘手。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-25
      • 2014-09-17
      • 2013-06-24
      • 2011-02-17
      • 2017-08-16
      • 2014-07-20
      • 2015-03-01
      • 1970-01-01
      相关资源
      最近更新 更多