MySQL が行形式を使用し、デフォルトの binlog_row_image=full を使用する場合、更新前後の完全なデータ イメージが binlog に記録されます。したがって、行形式のバイナリログに基づいて元に戻す操作を実行することが可能です。 この記事では主に行形式のbinlog undo操作を使用したmysqlの例を紹介します。
[GitHub ページ] [linux binaries]
例:
./binlog_undo -f /data/mysql/log-bin.000004 -p 3958 -o binlog.out
は /data/mysql/log- をスキャンしますbin.000004 位置 3958 から最後までのすべてのトランザクションについて、すべてのトランザクションの順序と各トランザクションのステートメントの順序を逆にし、すべての操作を逆にし、WRITE と DELETE を逆にし、UPDATE の前後のイメージを交換して、生成された binlog ファイルは binlog.out に書き込まれます。その後、mysqlbinlog ツールを使用して binlog を再生し、操作を元に戻すことができます。
このツールは、マスター/スレーブの切り替え後にバックアップと同期されなかった元のマスターの操作を元に戻し、完全な再構築を回避するために使用できます。また、誤った操作に対する後悔の薬としても使用できます。
関連する推奨事項:
ユーザーの作成、ユーザー権限の認可と取り消しの MySQL メソッド
mysql5.7 でのユーザー認可の作成とユーザー認可の削除のサンプル コードの詳細な紹介
Oracle PL/SQL オブジェクト権限とシステム 権限取り消しの違い
以上が行形式のbinlog undo操作を使用したmysqlの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。