MySQLのBINLOG 3つのフォーマットの詳細

それはどのような違いを生むんbinlogの異なるモードがありますか?

1.Statement:各SQLはバイナリログに記録されたデータを変更します。

利点:各行の変化は、ログバイナリログ、IO節約、改善された性能の量を減少させる、記録される必要はありません。(行パフォーマンスログを保存するエネルギーの量と比較して数、SQLアプリケーションに応じて、通常の編集やログ・レコード・フォーマット生成列の同じ量を挿入はまた、生成されたログ・ステートメントの量未満であるが、と更新条件を考慮した場合動作は、同様に、テーブル全体を削除するテーブルや他の操作を変更するように、行フォーマットは、大きなログが生成され、したがって、考慮されるべきアプリケーションと実際の状況に応じて、それらがログのROW形式を使用するかどうかの数を増加させるであろう生成量を記録し、持ち込まIOパフォーマンスの問題。)

短所:唯一のスレーブ上で適切に実行するために声明、これらのステートメントを実行しているので、それぞれの文はまた、すべてのステートメントが最後にマスターとスレーブで実行し得ることを確実にするために、同じレコード、実施の過程でいくつかの情報を記録する必要があります結果。付加MySQLのレプリケーションでは、いくつかの特定の機能の機能として、スレーブとマスタは、(睡眠など()関数、LAST_INSERT_ID()、ならびにユーザ定義機能(UDF)の問題が発生した)は、多くの関連する問題が存在するであろう一致することができます。

2.Row:SQL文が変更されたレコードのみを保存し、コンテキスト情報を記録しません。

長所:コンテキスト依存の情報が実行されbinlogのSQL文で記録することはできませんが、唯一のレコードが何に変更されたことを記録する必要があります。だから、下のデータ変更の各ラインの非常に明確な内容になるコンテンツrowlevelレコードを記録します。そして、プロセスは、特定の状況、または関数の下に格納されず、問題が呼び出しをトリガーおよびトリガーを正しく再生することができません

短所:すべてのステートメントが実行されたすべてのレコードを記録するために、それぞれの行を変更する時期ログインしたときに、これは、ログの内容の多くを生成することがあり、そのようなバイナリログのそれぞれに複数のレコードを修正する更新ステートメントとして変化は、各レコードが記録されます、テーブル、各レコードが変更され、テーブルの構造を変更し、このようなALTER TABLE文を実行する場合は特に、そうバイナリログログは、かなりの量を有することになる原因と、記録されます。

3.Mixedlevel:一般的なステートメントは、いくつかの機能として、フォーマットを保存なステートメントバイナリログを修正使用し、ステートメントがマスターコピー操作から完了することができない、レベルの二種以上の混合物である、行フォーマットはバイナリログを保存するために使用され、MySQLは各に従って実行されます特定のSQL文はつまり、声明と行の間に1つを選択し、治療記録のログ形式を区別します。MySQLの戦隊行レベルモードの新しいバージョンを、すべての変更が行レベルで記録されますない、最適化されており、それは文のモードで記録されますテーブル構造の変化に来たときのように。このような更新などのステートメントについては、データの変更を削除するか、それはすべての行の変更を記録します。

 

ビンログは、基本的な書式と調合しました

1.基本的な準備

MySQLのバイナリログログ形式はbinlog_formatプロパティのmy.cnfファイルのMySQLで指定することができます。次のような:

binlog_format = MIXED // binlogのログ形式

log_bin =ディレクトリ/mysql-bin.log // binlogのログ名

expire_logs_days = 7 // binlogのクリーンアップ時間が期限切れ

max_binlog_size 100メートル// binlogの各ログファイルのサイズ

 

2.Binlogログ形式を選択します

ステートメントMySQLのデフォルトのログ形式がMIXED推奨される使用することです。

何らかの特殊な用途に、バイナリログログを経由して、独自のデータ同期を変更するなど、漕いを使用することを検討して、それが関連する操作の多くを保存します。バイナリログデータ処理が非常に容易になるであろうため、比較的混合し、解像度も非常に容易である(もちろん、IOオーバヘッドによってもたらさログの増加量が許容範囲内とすることができることを条件とします)。 

3.mysqlbinlogフォーマット選択

選択された原則のためにmysqlのログ形式:INSERT、UPDATEを使用する場合場合は、DELETEなどの操作テーブルを直接、binlog_formatに応じて設定されたログ記録フォーマット、採用GRANT場合、REVOKE、SET PASSWORDステートメントは、他の単語を行うために管理、SBR記録モードの次に、いずれの場合に使用

4.Mixedログの説明:

スレーブ同期ログに、今関数このような時間を使用して、MIXEDログフォーマットは、同期スレーブの完了時に、ログに対応する時間UNIX_TIMESTAMP列()* 1000を生成し、アクセス時間がsqlEventを発生しますデータの正確性を保証します。データの同期を完了するために、対応する機能スレーブ機能のいくつかに加えて、上記指定UDF同様の機能のいくつかのために、完全なスレーブのバイナリログを確実にするために製造することができ、フォーマットは、ROWバイナリログストレージを使用する既知のスレーブに導くことができませんデータの同期。

おすすめ

転載: www.cnblogs.com/dbalightyear/p/11261771.html