【问题标题】:On Django, how to connect to MySQL database on remote server through SSH?在 Django 上,如何通过 SSH 连接到远程服务器上的 MySQL 数据库?
【发布时间】:2017-02-07 22:14:03
【问题描述】:

我环顾四周,找不到任何专门解决我想知道的问题的答案:

在Mac终端,我可以通过ssh访问远程服务器:

ssh [my_username]@[server.host.com]

提示我输入密码,输入密码后,它会将我带到远程服务器。

一旦我登录到远程服务器,我就可以访问 MySQL:

mysql -u [other_username] -h [mysql.host.com] -p

它提示我输入另一个密码,输入密码后,我在 MySQL 控制台中,可以显示位于那里的数据库等。我们可以调用我感兴趣的数据库 [数据库]。

我的问题是,我如何将在我的本地主机上运行的 Django 连接到 [数据库],以便我的应用程序使用该 [数据库]?

【问题讨论】:

    标签: mysql django database ssh remote-server


    【解决方案1】:

    您可以创建一个 ssh 隧道来将远程服务器的 mysql 端口映射到您机器上的本地端口。

    ssh -L 3333:127.0.0.1:<remote mysql port> <username>@<remote host> -N
    

    当此进程处于活动状态时,本地端口 3333 将连接到远程主机上的远程端口。

    【讨论】:

    • 很好的答案,这应该可以。但我会担心这对于测试和非生产目的是否是一个好主意。
    • 我不会在生产中使用它。在生产中,我会设置适当的网络路由、防火墙等,以便应用程序服务器可以直接连接到数据库服务器。
    • 即使没有 -N 标志也可以使用。此外,您可以通过输入配置文件中指定的主机名来取消 @
    • 你会如何把它放在settings.pyDATABASE 配置中?那是你放的地方吗?这似乎是一件很常见的事情,但找不到太多关于它的信息
    猜你喜欢
    • 2019-03-30
    • 2023-03-08
    • 1970-01-01
    • 2021-02-01
    • 2018-12-04
    • 2011-04-16
    • 2019-09-15
    • 2020-06-05
    • 1970-01-01
    相关资源
    最近更新 更多