sql >> データベース >  >> RDS >> Mysql

MySQLのwait_timeout、net_read_timeout、net_write_timeout変数とは何ですか?

    MySQLは、さまざまな段階でさまざまなタイムアウト変数を使用します。

    • 接続が確立されると、connection_timeoutが使用されます
    • 次のクエリを待機するときは、wait_timeoutを使用します
    • 特定の時間内にクエリを受信しない場合は、net_read_timeoutを使用します およびnet_write_timeout
    • など...

    通常、net_read_timeout 問題はないはずですが、ネットワークに問題がある場合、特にサーバーと通信している場合、データベースに送信したクエリの単一パケットではなく、MySQLがクエリ全体を待機するため、このタイムアウトが発生する可能性があります。読み取りますが、ネットワークの問題により、残りのクエリを受信しません。 MySQLは、クエリ結果が完全にフェッチされるまで、クライアントがサーバーと通信することを許可しません。

    結局のところ、セッション変数であるこれら2つの変数を適切に変更することはできません。

    また、MySQLDocから読むことができます

    net_read_timeout

    net_write_timeout

    を使用して、MySQL自体のデフォルト変数を確認できます。

    > mysql show variables like '%timeout';



    1. Oracle Live SQL

    2. 1つの列からページをグループ化する

    3. このMySQLステートメントの何が問題になっていますか:DECLARE @ID INT

    4. MySQLのローリングアップグレードを実行する方法