mysql binlogの概要
2443 ワード
1.レプリケーション:プライマリ・ライブラリのbinlogはスレーブ・サーバに送信され、そのデータの変化を提供し、これらのイベントをライブラリから実行してプライマリ・スレーブ・データを一致させる.
For replication, the binary log on a master replication server provides a record of the data changes to be sent to slave servers. The master server sends the events contained in its binary log to its slaves, which execute those events to make the same data changes that were made on the master.
2.バックアップ・リカバリ:一部のデータ・リカバリにはbinlogが必要で、バックアップ・リカバリ・データを使用した後、binlog内のイベントを再実行します.これらのイベントにより、データベースに更新されたデータがあります.
Certain data recovery operations require use of the binary log. After a backup has been restored, the events in the binary log that were recorded after the backup was made are re-executed. These events bring databases up to date from the point of the backup.
参考資料:mysql 5.7マニュアル
何が記録されているのか
データベースに変更された文、ddl操作、dml操作、時間情報.(プライマリ・スレーブ環境であり、プライマリ・ライブラリにbinlogが記録されており、フィルタリングされていない場合、テーブルに対する操作ddl文とデータの削除に対する操作は必ずスレーブ・ライブラリに伝達されます.)
The binary log contains “events” that describe database changes such as table creation operations or changes to table data. It also contains events for statements that potentially could have made changes (for example, a DELETE which matched no rows), unless row-based logging is used. The binary log also contains information about how long each statement took that updated data
書式設定
row
表示
mysqlbinlog --base64-output=decode-rows -v /opt/mysql/log/mysql-bin.000017
利点:安全で、システムの特殊な関数もコピーすることができて、もっと少ないロックの欠点:binlogは比較的に大きくて、単文の更新は多すぎるbinlogを生む可能性があります
statemnet
利点:ログ量が小さく、元のsqlの欠点が保持されます:プライマリ・セカンダリ・レプリケーションが一致しないuuid、loadfile、user()、found rows()...レプリケーションできない可能性があります
mixedフォーマット
innodbを使用し、独立性レベルrc or ruを使用する場合はrowフォーマットです.If you use READ COMMITTED, you must use row-based binary logging.
redoとの関係
xa事物
設定
5.7マニュアル