序文: 場合によっては、MySQL に接続されたセッションが異常終了することが多く、エラー ログに「通信パケットの読み取り中にエラーが発生しました」という種類のアラームが表示されます。この記事では、このエラーの考えられる原因とその回避方法について説明します。 1. ステータス変数 Aborted_clients と Aborted_connects まず、2 つのステータス変数 Aborted_clients と Aborted_connects の意味を理解しましょう。セッションが異常終了すると、これら 2 つのステータス値が変わります。公式ドキュメントによると、概要は次のとおりです。 Aborted_connects ステータス変数の増加の考えられる理由:
Aborted_clients ステータス変数の増加の考えられる理由:
簡単に言えば、データベース セッションがデータベースへの正常な接続に失敗した場合、Aborted_connects 変数が増加します。データベース セッションはデータベースに正常に接続されましたが、正常に終了できなかったため、Aborted_clients 変数が増加します。 2. 通信パケットの読み取りエラーが発生しました原因分析 どのような状況で、「db: 'db' ユーザー: 'dbuser' ホスト: 'hostname' への接続 xxxx が中止されました (通信パケットの読み取りエラーが発生しました)」のようなアラームがエラー ログに表示されますか?次に、上記の考えられる理由に基づいていくつかの具体的なテストを実行します。各テストのステータス変数 Aborted_clients と Aborted_connects の変化とエラー ログ レコードに注意してください。
1. テストする前にステータス変数の値を確認しますmysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 0 |+------------------+-------+ 2. テストプロセス# mysql -uroot -pwrongpassmysql: [警告] コマンドラインインターフェースでパスワードを使用すると、安全でない可能性があります。ERROR 1045 (28000): ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードの使用: YES)# mysql -uroot1 -pwrongpassmysql: [警告] コマンドラインインターフェースでパスワードを使用すると、安全でない可能性があります。ERROR 1045 (28000): ユーザー 'root1'@'localhost' のアクセスが拒否されました (パスワードの使用: YES) 3. ステータスの変更とエラー ログを表示します。mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 2 |+------------------+-------+エラー ログ レコード:2020-03-16T17:58:35.318819+08:00 6 [注] ユーザー 'root'@'localhost' のアクセスが拒否されました (パスワードの使用: YES)2020-03-16T17:59:04.153753+08:00 7 [注] ユーザー 'root1'@'localhost' のアクセスが拒否されました (パスワードの使用: YES) 結果: Aborted_connects にはエラー ログがありますが、中止された接続に関連するレコードはありません。
1. テスト前にステータス変数の値を確認しますmysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 0 || Aborted_connects | 2 |+------------------+-------+ クエリは正常、影響を受けた行は 0 行 (0.00 秒) 3. ステータスの変更とエラー ログを確認します。mysql> show global status like 'abort%';+------------------+-------+| Variable_name | Value |+------------------+-------+| Aborted_clients | 1 || Aborted_connects | 2 |+------------------+-------+ 結果: Aborted_clients が追加されますが、エラー ログには記録がありません。同様に、スリープ時間が経過すると、Aborted_clients が追加されますが、エラー ログには Aborted connection の記録があります。 異常なセッション終了は通常、Aborted connection アラームを引き起こします。つまり、Aborted_clients ステータス変数の変化を通じて、異常なセッションがあるかどうかを反映できます。すると、「通信パケットの読み取り中にエラーが発生しました」などのアラームの理由が非常に明確になります。関連情報を確認した後、Aborted connection アラームの考えられる理由を次のようにまとめます。
3. 問題の回避とまとめ 実際、中止された接続アラームを回避するのは困難です。エラー ログには中止された接続情報が少量含まれますが、これは無視できます。ただし、中止された接続アラームがエラー ログに頻繁に表示される場合は、ビジネスに大きな影響を与える可能性があるため、注意する必要があります。間違いを避ける方法についていくつか提案します。お役に立てれば幸いです。
上記は、MySQL Aborted connection アラーム ログの詳細な分析です。MySQL Aborted connection アラーム ログの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: ReactプロジェクトでのTypeScriptの実装
>>: Ubuntuにopencvをインストールする正しい方法の詳細な説明
Django で Web プロジェクトを開発する場合、開発およびテストのプロセスでは Django ...
これ以上時間を無駄にせず、早速本題に入りましょう。 1. ロゴに代替テキストを追加するこれには 2 ...
W3C は最近、「 XHTML Basic1.1 」と「 Mobile Web Best Prac...
序文システムをインストールしたときに、パーティション領域を適切に割り当てませんでした。その後のメンテ...
注意: docker-compose.yml ファイルを書き込むときは、すべてのコロン (:) とダ...
目次1. プロトタイプ2. プロトタイプポインタ: __proto__要約する1. プロトタイプJa...
1.ファビコン.cc ico アイコンの Web サイトをオンラインで作成するには、画像をアップロー...
Linux システムのシャットダウン コマンドは何ですか? Liangxu Tutorial Net...
Docker コンテナが終了しても、デバッグを容易にし、ユーザー データを保持するために、デフォルト...
このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...
このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...
テーブルデータを作成する テーブル `praise_info` を作成します ( `id` bigi...
多くの場合、クエリの結果は最大で 1 つのデータ レコードになることが予想されます。この場合、制限 ...
ここでは、CSS テクニックを巧みに使用することで、HTML を変更せずにブログやテンプレートの外観...
1. Mycatの適用シナリオMycat は幅広いシナリオに合わせて開発されており、新しいユーザーが...