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

innodb_lock_wait_timeoutタイムアウトを増やす

    これがWebアプリケーションであり、あるページから次のページへとトランザクションを中断しようとしている場合は、しないでください。;動作しません。

    「直後」とはどういう意味ですか? 2つのステートメントの間に何もしていない場合は、1秒のタイムアウトでも十分な大きさである必要があります。

    mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
    mysql> SELECT @@innodb_lock_wait_timeout;
    +----------------------------+
    | @@innodb_lock_wait_timeout |
    +----------------------------+
    |                         50 |
    +----------------------------+
    mysql> SET SESSION innodb_lock_wait_timeout = 1;
    mysql> SELECT @@innodb_lock_wait_timeout;
    +----------------------------+
    | @@innodb_lock_wait_timeout |
    +----------------------------+
    |                          1 |
    +----------------------------+
    

    変数のGLOBALとSESSIONを説明するには:GLOBAL値は初期化に使用されます 接続開始時のSESSION値。その後、SESSION値を変更して、実行していることに影響を与えることができます。また、GLOBAL値を変更しても、現在には影響しません。 接続。

    タイムアウトを1に変更することは非常に安全です(GLOBALとSESSIONを理解したら)。変更されるのは、そのエラーが発生する頻度だけです。




    1. このeavクエリを作成して水平方向の結果を作成する方法

    2. PHP-LOADDATAINFILEを使用してCSVファイルをmysqlデータベースにインポートします

    3. 選択入力フィールドにmysqlからの値を入力する

    4. すべてのユーザーテーブルを削除するにはどうすればよいですか?