ホームページ  >  記事  >  データベース  >  MySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します

MySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します

php是最好的语言
php是最好的语言オリジナル
2018-08-07 11:23:182120ブラウズ

バックアップとバイナリログを組み合わせてデータを復元します。

シナリオ: 昨夜すべての準備を行った後、今朝ユーザーは誤ってテーブルを削除してしまいました。

解決策: 元の運用環境で直接復元することはお勧めできません。データベース全体とログを別のマシンに復元してから、運用環境にインポートすることをお勧めします。 (私の場合はローカルです。本番環境はローカルであってはなりません)

マスター ステータスを表示するには、必要な binlog フォワードをバックアップしますMySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します

-- binlog ログを忘れずにコピーしてください

「itpuxdb-binlog.000003」に binlog イベントを表示します';

mysqlbinlog itpuxdb-binlog.000003 |grep "DROP TABLE"


mysqlbinlog itpuxdb-binlog.000003 |grep "itpuxfg1" (

ログには 2 つの異なるバージョンがあることに注意してください。区別してください

)

デモ:

itpux ライブラリを削除します。 データベース itpux; 復元: 最初にデータベースを作成します:

mysql> -- 条件が明確でない場合元のデータベースで show create database mysql; を実行することをお勧めします。 show tables;MySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します

MySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します

-- binlog ログによる増分リカバリ テーブル削除前

[root@mysqldb binlog]# mysqlbinlog -vv --start-position=219 --stop-position=913 --database=itpux itpuxdb -binlog.000001 >sa.sql

-- これを復元します テーブルを元のデータベースに置きます

まず別のデータベースからテーブルをバックアップします

mysqldump -uroot -p itpux itpuxfg1 > sa.sql

本番データベースを直接復元します (元のデータベースのテーブルは削除されています)

mysql -uroot -p itpux mysql> select * from itpuxfg1;

1) このテーブルをソース データベースに復元します

MySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元します mysqldump -uroot -p itpux itpuxfg1 > ;sa.sql

関連する推奨事項:

mysql で削除されたデータベースをバックアップなしで復元する方法

MySQL レプリケーション + スナップショットリカバリの誤削除操作の実験テスト

以上がMySQL はバックアップとバイナリログを組み合わせて、誤って削除された操作データを復元しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。