序文: 場合によっては、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をインストールする正しい方法の詳細な説明
目次1. 数学関数2. 文字列関数3. 日付関数4. 暗号化機能主な MySQL 関数は次のように紹...
MySQLインストーラをダウンロードする公式ダウンロードアドレス: http://dev.mysq...
これは、面接者の CSS に関する基本的な知識をテストするものです。 CSSでアニメーションを実装す...
目次1. 親コンポーネントが子コンポーネントに値を渡す(props) 2. サブコンポーネントは親コ...
時間差関数 TIMESTAMPDIFF と DATEDIFF の使用SQL ステートメント、特にスト...
1つ目: テキスト/HTML経由var txt1="<h1>テキスト。<...
序文:私はずっと、SQL 文がどのように、どのような順序で実行されるのかを知りたいと思っていました。...
目次序文1. 再帰コンポーネント2. 右クリックメニューコンポーネント要約する序文今日、プロジェクト...
この記事では、例を使用して、MySQL ストアド プロシージャの原理と使用方法を説明します。ご参考ま...
今日は建国記念日で、誰もが祖国の誕生日をお祝いしようとしています。毎年この時期になると、WeChat...
目次Dockerとは展開する1. イメージをプルする2. 画像を表示する3. コンテナを実行する4....
この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...
私はかつて、ウェブサイトを一度も構築したことのない人々が、初心者向けのウェブサイト構築方法に関する私...
突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場...
<TR> タグの属性は、次の表に示すように、テーブル内の各行のプロパティを設定するために...