MySQL と接続関連のタイムアウト 序文: 今日、同僚から、データ量が多いときに MySQL データベースをクエリすると、セッションが常に切断されるのはなぜかと尋ねられました。最初は MySQL 接続タイムアウトの問題だと思いましたが、ネットワークの不安定さが原因であることが判明しました。 以下は接続に関連するタイムアウトの概要です スレーブネットタイムアウト スレーブが接続が切断されたと判断し、読み取りを中止して再接続を試行するまでに、マスターからのさらなるデータを待機する秒数。最初の再試行はタイムアウト直後に行われます。再試行の間隔は、CHANGE MASTER TO ステートメントの MASTER_CONNECT_RETRY オプションによって制御され、再接続試行の回数は --master-retry-count オプションによって制限されます。デフォルトは 3600 秒 (1 時間) です。 ネット読み取りタイムアウト: 読み取りを中止する前に接続からさらにデータを待つ秒数。サーバーがクライアントから読み取りを行っている場合、net_read_timeoutは中止するタイミングを制御するタイムアウト値です。 ネット書き込みタイムアウト: 書き込みを中止する前に、ブロックが接続に書き込まれるのを待機する秒数。サーバーがクライアントに書き込んでいる場合、net_write_timeout は中止するタイミングを制御するタイムアウト値です。 待機タイムアウト サーバーが非対話型接続を閉じる前にアクティビティを待機する秒数。 インタラクティブタイムアウト: サーバーが対話型接続を閉じる前にその接続でのアクティビティを待機する秒数。 接続タイムアウト mysqld サーバーが接続パケットを待機する秒数。この秒数が経過すると、Bad ハンドシェイクで応答します。デフォルト値は 10 秒です。 接続応答を待つ時間 connect_timeout:接続取得フェーズ(認証)中に有効になります interactive_timeout と wait_timeout: 接続アイドルフェーズ (スリープ) 中に動作します。 MySQL 接続の取得は、複数のハンドシェイクの結果です。ユーザー名とパスワードの一致検証に加えて、IP->HOST->DNS->IP 検証も行われます。どのステップでも、ネットワークの問題によりスレッドがブロックされる可能性があります。スレッドが不必要な検証待機で浪費されるのを防ぐため、connect_timeout を超える接続要求は拒否されます。 ネットワークに問題がない場合でも、クライアントが常に接続を占有できるようにすることはできません。 MySQL は、wait_timeout (または client_interactive フラグに応じて interactive_timeout) より長い間スリープ状態のままになっているクライアントを積極的に切断します。 接続がスリープ状態でない場合でも、つまりクライアントがデータの計算や保存でビジー状態の場合でも、MySQL は条件付きで待機することを選択します。データ パケットの配布プロセス中に、クライアントが応答する時間がない場合があります (データ パケットの送信、受信、または処理が遅すぎる)。接続が無限に待機して無駄にならないようにするために、MySQL は条件付きで接続を積極的に切断することも選択します (net_read_timeout および net_write_timeout)。 参照: http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html 上記は、MySQL と接続関連のタイムアウトの詳細な概要です。ご質問がある場合は、メッセージを残すか、コミュニティで議論してください。お読みいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただき、ありがとうございます。 以下もご興味があるかもしれません:
|
<<: React で Antd の Form コンポーネントを使用してフォーム機能を実装する方法
>>: Tomcatのデフォルトプログラム公開パスの使用と変更についての説明
偶然にも、SQL ステートメントを異なる MySQL インスタンスで実行すると、異なる結果が生成され...
目次情事の概念取引の状態取引の役割取引の特徴トランザクション構文トランザクション対応ストレージエンジ...
シナリオmyBuket の static/material/ ディレクトリなど、Alibaba Cl...
1. LinuxのMySQLで中国語の文字化けが発生する。以下の操作を実行する。 vi /etc/m...
1. nginxの動的と静的の分離の簡単な設定web1は静的サーバー、web2は動的サーバー、nod...
Docker パッケージは、デフォルトの CentOS-Extras リポジトリにすでに含まれていま...
最近の Web サイトでは Https をサポートすることがほぼ標準機能となっており、Nginx は...
この記事では、例を使用して、MySQL ストアド プロシージャでの case ステートメントの使用方...
目次1. 基本原則2. 特定のコード要約する1. 基本原則まず、生放送エリアを10の部分に分割し(個...
1. MariaDB と MySQL の紹介1. MariaDB の紹介MariaDB は、MySQ...
今日ふと、HTML でチェックボックスのスタイルを変更できる範囲が限られていることと、チェックボック...
前回の記事では、webpack と react 環境を設定した後、ログイン インターフェースとその後...
1. MySQLをシャットダウンする [root@localhost /]# サービスmysqldを...
Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...
ページの自動スクロール効果は JavaScript で実現できますが、今日偶然、JS 制御なしでさま...