铁路应用程序上的 SQL 连接错误。如何解决我在铁路在线服务器上使用 MySQL 作为单独实例的 sql 连接错误?

问题描述 投票:0回答:1

错误:

peewee.OperationalError:(2003,“无法连接到‘containers-us-west-205.railway.app’上的 MySQL 服务器(超时)”)

发生时:

每天之后,或者左右。

铁路账户:

付费

开发框架:

Flask、MySQL 作为后端

铁路仪表板:

共享变量直接来自仪表板上的 mysql 实例:

工作正常,只是每隔一段时间就需要重新启动数据库,这是为什么?

mysql flask hosting peewee railway
1个回答
0
投票

MySQL 的错误 2003 状态文档:

错误 (2003) Can't connect to MySQL server on 'server' (10061) 表示网络连接被拒绝。您应该检查是否有一台 MySQL 服务器正在运行,是否启用了网络连接,以及您指定的网络端口是否是服务器上配置的端口。

Peewee 正在向您传递来自 pymysql 的错误,这表明您的应用程序在尝试连接到 MySQL 服务器时超时。

我会联系您的主机,看看问题是什么,以及为什么 MySQL 服务器无法访问。您也可以尝试:

  1. 使用带 Peewee 的连接池(只需确保设置过时的超时以确保在长时间空闲的连接上发生重新连接)。
  2. 确保连接在
    app.before_request
    中打开并在
    app.teardown_request
    回调中关闭。
  3. 增加 pymysql 使用的超时,通过
    connect_timeout
    ,例如
    MySQLDatabase(..., connect_timeout=x)
    (默认为10秒)。
© www.soinside.com 2019 - 2024. All rights reserved.