0

ホスティングプロバイダーから次のようなメールを受け取りました。

MySQLの使用率が高いため、DBがブロックされています。これは、次のクエリが原因で発生しました。17649732 | 遅延| ローカルホスト| k * * * | 遅延挿入| 22 | INSERTを待っています|

これらの数字と情報が何を意味するのかを調べてみましたが、役立つ情報を見つけることができませんでした。この種のエラーを解決するにはどうすればよいですか、および/またはエラーを解決する場所を特定するにはどうすればよいですか?

4

2 に答える 2

0

MySQL エンジンの構成によっては、「問題のある」クエリが MySQL エンジンによっていわゆる「スロー クエリ」として分類され、「スロー クエリ」ログに表示される可能性があります。

「スロー クエリ」ログのステータスを判断するには、サイトにサービスを提供する MySQL エンジンを構成した担当者に相談する必要があります。これにより、クエリがログに表示されるかどうかを確認できます。

于 2012-08-26T00:10:28.067 に答える
0

これは基本的に、サービス プロバイダーがスクリプトを使用して mysql の攻撃的な動作を探すためです。この場合、その行はプロセスリストからのものです。INSERT DELAYED ステートメントを発行したため、mysql は「遅延挿入スレッド」を作成しました。このスレッドは、mysql がスレッドを強制終了する理由があるまで存続します。

行の 22 は、スレッドが 22 秒間 "Waiting for INSERT" 状態にあったことを意味します。私の推測では、彼らのスクリプトは実行に 15 秒または 20 秒以上かかるクエリを探しますが、10 秒ごとにしかチェックしないため、数が 10 秒または 5 秒にもなりません。

いずれにしても、この行がスロー クエリ ログに表示されることはありません。プロバイダーに、あなたが mysql を過度に使用しているとどのように判断したかを尋ね、遅延挿入に関する mysql のドキュメントを参照するように指示します。

また、実際に大量の DELAYED INSERT を発行していた可能性もありますが、これはたまたまキャプチャされた瞬間です。もっと情報がないと知る由もありません。

于 2012-09-05T16:47:30.100 に答える