MySQL で未処理のトランザクションを表示する方法
P粉176151589
P粉176151589 2023-08-27 16:03:45
0
2
464
<p>送信せずにいくつかのクエリを実行しました。その後、アプリケーションが停止されます。 </p> <p>これらのオープンなトランザクションを表示し、送信またはキャンセルするにはどうすればよいですか? </p>
P粉176151589
P粉176151589

全員に返信(2)
P粉463824410

この場合、残りのトランザクションはありませんが、@Johan が言ったように、必要に応じて、以下のクエリを使用して InnoDB の現在のトランザクションのリストを表示できます。

information_schema.innodb_trx\G から *

を選択します

ドキュメントより:

いいねを押す +0
P粉726133917

オープンなトランザクションがないと、MySQL は切断時にトランザクションをロールバックします。
トランザクションをコミットできません (IFAIK)。

スレッドを表示するには

を使用します リーリー

参照: http://dev.mysql.com/doc/refman/5.1/en/thread-information.html

切断された接続からはトランザクションをコミットできないため、これは役に立ちません。

接続が中断された場合の動作
MySQL ドキュメントより: http://dev.mysql.com/doc/refman/5.0/en/mysql-tips.html

参照: http://dev.mysql.com /doc/refman/5.0/en/auto-reconnect.html

この問題を診断して解決する方法
自動再接続を確認します:

必要に応じて再送信できるように、最後のクエリ (トランザクション) をクライアントに必ず保持してください。
また、これは危険であるため自動再接続モードを無効にし、代わりに独自の再接続を実装して、いつドロップが発生したかを把握し、そのクエリを再送信できるようにします。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート