我刚收到主办方提供的电子邮件,说明如下:
由于MySQL使用率过高,您的数据库已被阻止。 这是由以下查询引起的: | 17649732 |延迟| localhost | k * * * |延迟插入| 22 |等待INSERT |
我试图查看这些数字和信息的含义,但我一直无法找到任何有用的信息。我如何解决这种性质的错误和/或如何确定错误的解决位置?
答案 0 :(得分:0)
根据我配置的MySQL引擎,“违规”查询很可能被MySQL引擎归类为所谓的“慢查询”,并且可能出现在“慢查询”日志中。
您需要与配置为您的站点提供服务的MySQL引擎的任何人交谈,以确定“慢查询”日志的状态,以便您可以查看该查询是否显示在日志中。
答案 1 :(得分:0)
这主要是由于服务提供商使用脚本来查找令人反感的mysql行为。在这种情况下,该行来自进程列表。您发出了INSERT DELAYED语句,该语句导致mysql创建“延迟插入线程”。这个线程将一直存在,直到mysql有理由将其删除。
该行中的22表示该线程处于“Waiting for INSERT”状态22秒。我的猜测是他们的脚本会查找运行时间超过15或20秒的查询,但是他们每10秒左右检查一次,导致数字不是10秒或5秒。
在任何情况下,此行都不会出现在慢查询日志中。我会询问提供者他们如何确定您使用的是mysql,并且可能将它们指向mysql文档以获取延迟插入。
你实际上也可能发布了大量的DELAYED INSERT,这恰好是他们捕获的时刻。没有更多信息就无法知道。