mysql - 如何连接到托管在 pythonanywhere 上的 mysql 数据库?
问题描述
我买了一个基本的 6 美元服务器,pythonanywhere
它允许连接到他们的服务器。我已经将我的应用程序 ( ) 部署到服务器并设置了本地环境(安装的包、设置路径和环境变量)。我运行了该应用程序,它为我提供了路线,这实际上表明它正在运行。SCP
SSH
flask
REST API
404 page
/
但是,当我尝试像/api/users/3
例如这样的路线时,它给了我一个error 500
(内部服务器错误)。我在服务器上挖掘了一些log
文件,发现一个基本上是WSGI
Web 服务器的输出,它是我的烧瓶应用程序的主机。它说数据库通信存在问题。据我了解,它连接成功,但无法从表中查询数据:
(1044, "Access denied for user 'secret_username'@'%' to database 'test'")
我试图通过 web mysql 控制台解决这个问题,将我的<secret_username>@secret_username.pythonanywhere.com
所有特权授予test.*
,但它又给了我一个access error
。我尝试通过 SSH 连接到作为 mysql 服务器主机的机器并尝试连接到它 -secret_username.mysql.pythonanywhere-services.com
但它不允许我通过 ssh 连接到该服务器。
有没有人遇到过这个问题?我几乎可以肯定我的连接设置正确,因为如果它没有建立连接,它会给我一个访问错误消息“使用密码“是”。我在论坛上读过一点,他们建议在与烧瓶应用程序相同的服务器上安装一个 mysql 服务器,但由于某种原因我无法访问 sude,可能是因为我的计划便宜。有任何想法吗?
解决方案
如果您使用的是 PythonAnywhere 提供的 MySQL 数据库,主机名是secret_username.mysql.pythonanywhere-services.com
,那么您的数据库将被调用secret_username$test
,而不仅仅是test
- 请参阅 PythonAnywhere 网站上的“数据库”页面。
推荐阅读
- swiftui - 在 swiftui 中检查文件类型
- docker - Dockerfile - 复制目标文件名或目录?
- wordpress - CPanel 的磁盘使用功能显示 Wordpress 目录大于其内容的总和
- ruby - 带有元编程的 Ruby 应用程序 - 如何获取字节码或二进制文件或可以移植的东西
- javascript - 根据是否加载图像元素显示段落元素
- file - 使用 ashx 处理程序从 SQL 表中读取 BLOB 文件时如何在 Edge 中查看文件
- json - 如何将 Any 类型的对象转换为特定的类类型?
- matlab - 如何设置仅左轴对象的 ylim?
- javascript - 如何在商店页面(Woocommerce)上显示两种不同的价格格式?
- python-3.x - python @property 无法识别带下划线的属性