MySQL で未処理のトランザクションを表示する方法
P粉176151589
P粉176151589 2023-08-27 16:03:45
0
2
406

送信せずにいくつかのクエリを実行しました。その後、アプリケーションが停止されます。

これらのオープンなトランザクションを表示し、送信またはキャンセルするにはどうすればよいですか?

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
      最新のダウンロード
      詳細>
      ウェブエフェクト
      公式サイト
      サイト素材
      フロントエンドテンプレート
      私たちについて 免責事項 Sitemap
      PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!