Django:远程访问PythonAnywhere MySQL数据库

sczxawaw  于 2023-02-25  发布在  Go
关注(0)|答案(3)|浏览(210)

我在PythonAnywhere上有一个Django应用(Python 3.4,Django 1.7),还有一个MySQL数据库。数据库在部署的应用上运行良好。
然而,我无法将它连接到本地机器上的应用程序。
当我运行python manage.py runserver时,抛出了以下错误:
django.db.utils.InterfaceError:(2003年,"2003年:无法连接到'mysql.server:3306'上的MySQL服务器(8提供了节点名或服务器名,或未知)",无)
以下是我使用的属性:

DATABASES = {
    'default': {
        'ENGINE': 'mysql.connector.django',
        'NAME': '<username>$<database_name>',
        'USER': '<username>',
        'PASSWORD': '<databse_password>',
        'HOST': 'pythonanywhere.com'
    }
}

我也试过mysql.servermysql.server.pythonanywhere.com作为HOST没有任何更多的运气。

unftdfkk

unftdfkk1#

我认为远程直接连接到你的mysqlserver示例是不可能的,出于安全考虑,3306端口被封锁了。他们建议通过SSH隧道连接,请遵循link
我不知道如果你可以在Django中使用SSH隧道,你应该写一个自定义配置。在你的PC上安装SSH隧道软件,然后将你的Django应用程序连接到本地主机的端口,这会更简单。
再见

2ic8powd

2ic8powd2#

根据PythonAnyWhere文档:
1.打开一个终端并运行下面的命令。
ssh -L 3333:用户名. mysql. pythonanywhere-服务网站:3306username@ssh.pythonanywhere.com
提供您的PAW帐户登录密码
将username替换为您的用户名。
1.打开另一个终端并运行下面的命令。
mysql -h127.0.0.1--端口3333 -u用户名-p
提供你的mysql密码。在设置文件中可用。
只要您在端子2上工作,就保持端子1打开。
Accessing PythonAnyWhere MySQL from outside

ckx4rj1h

ckx4rj1h3#

只有付费帐户有权限访问mysql数据库的remoteserver

相关问题