我在 Amazon EC2 Windows 上安装了 MySQL,运行 REST 服务器。在长时间不活动后,MySQL 似乎会终止连接。我正在使用 Delphi 和 FireDAC。我在日志中收到此错误
conFD:TFDPhysMySQLConnection:。MySQL 服务器已消失 [errno=2006,sqlstate="HY000"]
从谷歌搜索来看,这个时间似乎是 8 小时。我可以增加这个时间,但最终假期还是会这样(也许)。
这是唯一正在运行的 MySQL 任务,因此我不需要节省资源。还有其他解决方法吗?
一种可能的方法是创建一个保持活动机制。
您可以修改您的应用程序以每小时(根据您的需要修改)发送一个简单的
SELECT 1;
查询,只是为了保持连接打开。事实证明,FireDAC 内置了一种称为Ping的机制。
这仍然是一个手动过程,我必须自己用计时器调用它。他们建议每 30 秒调用一次。然而,我认为这太残酷了。根据我接受的答复,我将其设置为 30 分钟。
咆哮——它应该只是一个需要勾选的属性。