如何连接托管在PythonAnywhere上的MySQL数据库?

3
我已经购买了一个基本的6美元 pythonanywhere 服务器,允许使用SCPSSH连接到他们的服务器。我将我的flask应用程序(REST API)部署到服务器上,并设置了本地环境(安装了包,设置了路径和环境变量)。我运行了应用程序,在/路由上给出了404页,实际上这是它正在工作的标志。
然而,当我尝试访问像/api/users/3这样的路由时,它会给我一个500错误(内部服务器错误)。我在服务器上挖掘了一些日志文件,发现其中一个基本上是我的flask应用程序托管的WSGI Web服务器的输出。它说有一个与数据库通信的问题。据我所知,它成功连接但无法从表中查询数据。
 (1044, "Access denied for user 'secret_username'@'%' to database 'test'")

我尝试通过Web MySQL控制台来解决这个问题,将我的<secret_username>@secret_username.pythonanywhere.com赋予test.*的所有特权,但是它再次给我一个访问错误。我试图通过SSH连接到托管MySQL服务器的机器,并尝试连接它 - secret_username.mysql.pythonanywhere-services.com,但它不允许我ssh进入此服务器。
有人遇到过这个问题吗?我几乎确定我的连接设置正确,因为如果它没有建立连接,它会给我一个带有消息“使用密码“yes”的访问错误。我在论坛上阅读了一些内容,他们建议在与Flask应用程序相同的服务器上安装MySQL服务器,但由于我的便宜计划,我无法访问sude。你有什么想法吗?
1个回答

3
如果您正在使用PythonAnywhere提供的MySQL数据库,主机名为secret_username.mysql.pythonanywhere-services.com,那么您的数据库将被称为secret_username$test,而不仅仅是test——请参阅PythonAnywhere网站上的“数据库”页面。

谢谢提供的信息。我会尝试一下,如果能解决我的问题,我会告诉你的。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接