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

接続が失われた/切断されたトランザクションでのMySQLロールバック

    クライアントを物理的に切断しているときは、通常の切断を送信しておらず(ロールバックが発生します)、MySQLプロトコルはあまりおしゃべりではないため、サーバーはクライアントが存在しないことを認識しません。クライアントとサーバーが内部ではるかに多く通信する他のデータベースシステムと比較すると、これはプロトコルの欠陥だと思います。

    ともかく。変更できる変数は2つあります。基本的には同じですが、クライアントが異なります。

    1つ目はwait_timeout です。 また、javaやphpなどのアプリケーションクライアントによって使用されます。

    もう1つは、Interactive_timeout です。 そしてそれはmysqlクライアントによって使用されます(あなたのテストのように)

    どちらの場合も、サーバーは数秒後に接続を切断し、そうするとすべてのトランザクションをロールバックしてすべてのロックを解放します。



    1. Postgresの列の自然な順序を変更することは可能ですか?

    2. PHPデータオブジェクトの挿入が実行されていません

    3. データベースセキュリティのためのPercona監査ログプラグインの使用

    4. MySQL Connector / NETを使用して、深さ2を超えるオブジェクトグラフでEntity Frameworkを使用するにはどうすればよいですか?