物理的および論理的なREDOログログログのbinlogをのmysql

1、REDOログ(InnoDBのエンジン固有のログ)
1.1、データベースが発生した場合でも、REDOログと、InnoDBは、再起動を保証することができ、以前にこの能力を失われます提出クラッシュセーフと呼ばれています。更新するレコードの必要がある場合には具体的に、InnoDBエンジンは、最初のログ内部をやり直すために書かれた記録、およびメモリを更新しますが、この時間は、アップデートは完了です。同時に、適切な時点でInnoDBエンジンは、この操作は、ディスクの内側にレコードを更新し、これは多くの場合、より多くの自由時間システムを更新するために行われ
、このパラメータが1に設定されているinnodb_flush_log_at_trx_commit、1.2を、各トランザクションは、REDOログのすべてを表し、直接ディスクに永続化。私は異常な再起動のMySQLのデータが失われない後、それは保証することができ、あなたは1に設定示唆
2を、バイナリログ(サーバーレイヤーログ)
1に設定され、各トランザクションがディスクに永続化しているビンログを表し2.1は、このパラメータをsync_binlog。このパラメータはまた、あなたがMySQLがbinlogの再起動後に失われていないことを1にこの性を保証を設定することをお勧めします
、との違い3を
3.1に、REDOログは、InnoDBエンジン特有である;のbinlogは、すべてのエンジンを使用することができますMySQLサーバ層の実装である
3.2を、REDOログ物理ログ・レコードは、「ページ変更のデータがなされた」であり、バイナリログ論理ログは、「この行プラス1のフィールドID = C 2」として、文の元のロジックを記録し
3.3、 REDOログは循環で書かれている、一定のスペースが不足します。ビンログが書かれて追加することができます。「追加の書き込みは、」バイナリログファイルを参照する次の投稿に切り替わります一定のサイズに書かれており、以前のログが上書きされることはありません。
4、InnoDBのエンジンを行う更新TセットC = C + 1 、ID = 2内部流は、この単純なUPDATE文
4.1は、アクチュエータは、誰かがエンジンID = 2の行を取ることを見つけます。IDは、ラインの直接の使用を見つけるために、主キー、木の検索エンジンです。メモリ内のこの行が既にID = 2データページ場合は、アクチュエータに直接戻され、そうでない場合、必要再びメモリにディスクを起動してバックします。
4.2は、アクチュエータラインデータがエンジンに到達するために、このような元としてこの値プラス1は、Nであり、その後、新しいデータを書き込むためにこのラインエンジンインタフェースを呼び出し、データの新しいラインを得るために、今N + 1です。
4.3更新操作は、この場合、REDOログは、状態を準備し、ログレコードをやり直すながら、このラインエンジンは、メモリ内の新しいデータに更新。その後、完全なトランザクションをコミットする準備ができエグゼクティブ行いを通知しました。
4.4、アクチュエータは、この操作をバイナリログ生成し、バイナリログはディスクに書き込ま。
4.5、ちょうど提出にREDOログに書き込まれたトランザクションエンジンインタフェースエンジンをコミットする呼び出しの実装状態(コミット)を、アップデートは完了です

おすすめ

転載: www.cnblogs.com/jetqiu/p/12235057.html