gpt4 book ai didi

mysql - "Lost connection to MySQL server during query"杀死 Windows 服务

转载 作者:行者123 更新时间:2023-11-30 23:39:35 24 4
gpt4 key购买 nike

我使用 Delphi 2007 开发了一个 Windows 服务。它使用 TAdoConnection 和 TAdoQuery 通过互联网连接到远程 MySql 数据库。我保留了 CommandTimeout 属性的默认值 30 秒。我还在每个新查询上创建连接/查询对象,并在完成后释放它们(即我不在启动时创建数据库连接并保持打开状态)。

服务每隔一段时间就会停止,事件查看器会显示“查询期间与 MySQL 服务器失去连接”。我把所有的东西都包裹在异常中。我怀疑在执行查询时网络出现下降。

有人有任何解决方案/想法吗?

是什么触发了 windows 关闭服务?

此外,我将服务“Recovery”设置为重新启动该服务,但这从未发生过。

我的下一步是在每个查询开始时开始记录,并将其与关闭的日期/时间进行比较。因为到目前为止我还不知道这是多少日志。

最佳答案

这可能不是一个直接的答案,但我几天前遇到了同样的问题,我在本地服务器上有 mysql,我使用 Mydac 连接组件。

经过多次尝试,我发现问题出在一张有 BLOB 字段的表上,我尝试在该表上查询

select * from table

我在查询获取大约 1600 行后遇到了这个问题,经过几次检查后我发现问题来自少数记录,而且它们似乎已损坏。所以当我像这样查询时

Select * from my table where id not between 1599 and 1650

我遇到了这个问题,如果我从他们查询中删除了 Not 只获取了 51 条记录,我得到了错误,这意味着有些记录已损坏,我也做了 mysqlcheck 但它没有修复问题,我尝试了一些其他检查工具,得到了相同的结果,我没有尝试删除这些记录,因为我需要为什么会发生这个问题,但是我忙于其他事情所以我离开了服务器一段时间。

顺便说一句,我使用 MySql 查询浏览器来尝试执行查询,因为其他工具会给我错误,但不会显示在 mysql 实例意外终止之前获取了多少记录。

关于mysql - "Lost connection to MySQL server during query"杀死 Windows 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4606818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com