插入延迟错误

问题描述:

我刚刚收到来自我的托管服务提供商的电子邮件,其中声明以下内容:插入延迟错误

由于MySQL使用率高,您的数据库已被阻止。 这是由以下查询引起的: | 17649732 | DELAYED | localhost | k * * * |延迟插入| 22 |等待INSERT |

我试过看看这些数字和信息是什么意思,但我一直无法找到任何有用的信息。我该如何着手解决这种性质的错误和/或如何找出错误要解决的地方?

+2

你有没有试过要求你的托管服务提供商? –

根据我的MySQL引擎的配置,“违规”查询很可能被MySQL引擎分类为所谓的“慢查询”,并可能出现在“慢查询”日志中。

您需要与配置为您的站点提供服务的MySQL引擎的人员进行沟通,以确定“慢查询”日志的状态,以便查看查询是否显示在日志中。

这基本上是由于服务提供商使用脚本来查找攻击性的mysql行为。在这种情况下,该行来自进程列表。你发出了一个INSERT DELAYED语句,这会导致mysql创建一个“延迟插入线程”。这个线程将一直存在,直到mysql有理由杀死它。

该行中的22表示该线程处于“等待插入”状态22秒。我的猜测是,他们的脚本查找花费超过15或20秒的查询来运行,但他们只检查每10秒左右,导致该数字不是10或5秒。

在任何情况下,该行永远不会出现在慢查询日志中。我会问提供者他们是如何确定你是在过度使用mysql,并且可能将他们指向mysql文档以获取延迟插入。

您也可能发布了大量DELAYED INSERT,而这恰好是他们捕获的时刻。无法知道没有更多的信息。