MySQL の 3 つの主要なログ undolog、redolog、undolog

Mysql の 3 つの主要なログ

(1) bin ログはマスター/スレーブ レプリケーション シナリオで使用され、トランザクションとは関係ありません。

マスターデータベースの追加、削除、変更のSQL文をバイナリ形式でbinlogに記録し、そのbinlogログをスレーブデータベースに送信し、スレーブデータベースはbinlogログの追加、削除、変更のSQL文を実行することで実現します。マスターデータベースのデータとの一貫性。

(2) アンドゥログとリドゥログ   

①アンドゥログにはデータ変更前のデータが保存され、リドゥログにはデータ変更後のデータが保存されます。

アンドゥログを実行するとトランザクション実行前のデータにロールバックされるため、アトミック性が確保されます。

データベースがダウンした場合、データベースは REDO ログを実行してトランザクション実行後のバージョンにデータを復元し、耐久性を確保します。

② アンドゥログは、データ変更の逆の操作(UPDATE文を実行してフィールドの値を10から15に変更した場合)を記録する論理ログ(行ごとのレコード)です。 a 対応する逆の操作により、このフィールドの値が 15 から 10 に戻ります。ただし、これは完全な SQL ステートメントではありません)REDO ログは(物理ページ全体の)物理ログであり、ディスク内のどのページにどのデータが含まれていたかが記録されます。何に変わったのか

bin ログの代わりに REDO ログを使用できますか?

いいえ、理由は、(1) bin ログがいっぱいの場合は、新しい bin ログ ファイルが作成され、REDO ログがいっぱいの場合は、前の REDO ログが上書きされるからです。

(2) ビンログは論理ログ、REDO ログは物理ログです。どのデータページのどのデータがどのように変更されたかを記録します。データの場所はマシンによって異なります。このマシン上にある場合もあります。このデータ ページでは、別のマシンでは、別のデータ ページにあります

おすすめ

転載: blog.csdn.net/weixin_47414034/article/details/132668116