web-dev-qa-db-ja.com

デフォルトのmysql wait_timeoutおよびinteractive_timeoutは何ですか

私はこれらのタイムアウトをグローバルに変更しました:

SET GLOBAL wait_timeout=30; SET GLOBAL interactive_timeout=30

これらの「低い」タイムアウトで問題が発生する別のアプリケーションが実行されていることに気付きました。これを元に戻し、特定のデータベースにのみ適用したいと思います。

8
user2693017

MySQLマニュアルを参照してください wait_timeout および interactive_timeout は-28800

スレッドの起動時に、セッションのwait_timeout値は、クライアントのタイプに応じて、グローバルwait_timeout値またはグローバルinteractive_timeout値から初期化されます(CLIENT_INTERACTIVE接続オプションで定義) mysql_real_connect()に)。 interactive_timeoutも参照してください。

3
Ilia Rostovtsev

5.5.43でも同じ問題が発生します。約2分を超えるいくつかの長いクエリに対して "has gone away"エラーメッセージが表示されていました。だから私はこれらを試しました3:

(1)SHOW VARIABLES LIKE 'wait_%';

(2)SHOW global VARIABLES LIKE 'wait_%';および

(3)SHOW session VARIABLES LIKE 'wait_%';

すべてがwait_timeoutが28800であることを示しました。次に、wait_timeout = 31536000/etc/my.cnfに追加しました。その後、私の長いクエリを完了することができました。上記の変数を表示する3つの方法から、(2)「グローバル」の変数のみが28800から31536000への変化を示しました。他の2つは影響を受けませんでした。私の長いクエリは間違いなく10分未満だったので、これはここで使用される時間の単位がsecondsではなくmillisecondsだったことを意味しますか?

9
gus