データベースbinlogのデータ復旧

オープンbinlogのにするかどうか(オンに)

以下のような変数を示し' log_binを' ; +
 --------------- + ------- + 
| 変数名| バリュー| 
+ --------------- + ------- + 
| log_bin | ON | 
+ --------------- + ------- +

オープン(デフォルトで有効にできる限り[一般]私は解凍バージョンを圧縮インストールした後、8.0以降のmy.iniを使用していないバージョン)
の任意の可能なCの下でのWindows:my.iniファイル\はProgramDataのmysql \の下で、そして見つけることができませんA

バイナリロギング#の
ログ -bin = binlogの(も指定されたパス)
のbinlog -format = ROW

一般/etc/my.cofにおけるLinuxでのmy.cnfを見つけるには..

サーバー-ID = 1つの
ログ -bin = / VAR / libに/ mysqlの/ビンログ
そして開かれた照会再起動


binlogのログクエリを
マスターログを表示します。
+ --------------- + ----------- + ----------- + 
| LOG_NAME | FILE_SIZE | 暗号化| 
+ --------------- + ----------- + ----------- + 
| ビンログ。000009 |       178 | なし| 
| ビンログ。000010 |       178 | なし| 
| ビンログ。000011 |       178 | なし| 
| ビンログ。000012 |      1618 | なし| 
| ビンログ。000013 |       178 | なし| 
| ビンログ。000014 |       178 | なし| 
| ビンログ。000015 |       178 | なし| 
| ビンログ。000016 |       178 | なし| 
| ビンログ。000017 |       178 | なし| 
| ビンログ。000018 |      2583 | なし| 
| ビンログ。000032 |  66276708 | なし| 
+ --------------- + ----------- + ----------- + 
binlogのイベントを表示。
+ --------------- + ----- + ---------------- + ---------- - + ------------- + ---------------------------------- - + 
| LOG_NAME | POS | EVENT_TYPE | SERVER_ID | End_log_pos | 情報|
+ --------------- + ----- + ---------------- + ---------- - + ------------- + ---------------------------------- - + | | 
| ビンログ。000009 |   4 | Format_desc |         1 |         124 | サーバー版:8.016、BINLOG版:4 | 
| ビンログ。000009 | 124 | Previous_gtids |         1 |         155 | | 
| ビンログ。000009 | 155 | ストップ|         1 |         178 
+ --------------- + ----- + ---------------- + --------- - + ------------- + --------------------------------- - + 
バイナリログを表示します。
+ --------------- + ----------- + ----------- + 
| LOG_NAME | FILE_SIZE | 暗号化| 
+ --------------- + ----------- + ----------- + 
| ビンログ。000009 |       178 | なし| 
| ビンログ。000010 |       178 | なし| 
| ビンログ。000011 |       178 | なし| 
| ビンログ。000012 |      1618 | なし| 
| ビンログ。000013 |       178 | なし| 
| ビンログ。000014 |       178 | なし| 
| ビンログ。000015 |       178| なし| 
| ビンログ。000016 |       178 | なし| 
| ビンログ。000017 |       178 | なし| 
| ビンログ。000018 |      2583 | なし| 
| ビンログ。000032 |  66276708 | なし| 
+ --------------- + ----------- + ----------- + 
ビンログ「でbinlogのイベントを表示。000016「; //查询指定のbinlog

 

(そこmysqlbinlogはコマンド、ノーグローバル変数ならば、あなたは、MySQLのbinディレクトリに実行する必要があります。ログインmysqlのbinlogの他の関連するコマンドを入力するには)

SQLは、(点の位置を見つけるために、SQLによる)リードに解析しました

mysqlbinlogは--base64出力= DECODE-ROWS -vビンログ。000067 > D:/ 1 .SQL 
mysqlbinlogは --start-日時= " 2019年11月6日午後5時18分20秒" --stop-日時= " 2019年11月6日午前17時21分21秒"バイナリログ。000067 > D:// test121.sql 
ショーマスターのステータス。/ * 主ログが状态* / 
のようなショーの変数' BINLOG_format ' ; / * binlogの格式* / 
SHOW BINLOG EVENTS  ' binlog.000067 ' ; / * 查询binlogの详情* /
バイナリログの表示は、/ * チェックビンログファイルので* / 
ショーマスターログ; / * 同上* / 
/ * 非mysqlの下に行わ* / 
mysqlbinlogは --start-位置= 313 --stop-位置= 436ビンログ。000 067 > D: test.sql内\\; / * MySQLデータディレクトリ、指定したエクスポートファイル* / 
binlogのイベント表示 ' binlog.000067 '  から 313リミット210 \ G、
mysqlbinlogはバイナリログを。000 067 > D:\\ test.sql内。

データ復旧

mysqlbinlogは--no-デフォルト--database = geeRunner --start-日時= " 2017年9月17日午前7時21分09秒" --stop-日時= " 2017年9月19日午前7時59分50秒"のバイナリログ。000080 > sanjiaomao.txt 
mysqlbinlogは --no-デフォルト--database = geeRunner --start-日時= " 2017年9月17日午前7時21分09秒" --stop-日時= " 2017年9月19日午前7時59分: 50 バイナリログ。000080 | もっと
唯一の更新操作を見ます
mysqlbinlogは--no-デフォルト--database = raceEnrollバイナリログ。000078 | grepのアップデート|もっと
1、2015年12月15日夜05時20分に2015年12月15日11時20分から削除されたデータを回復します
-dテスト--start-日= mysqlbinlogは" 2015年12月15日11時20分" --stop-日付= " 2015年12月15日17時20分"   ビンログを。000004   | mysqlの-uroot -p
2、ポイント10,000 20,000位置とリカバリ操作
-d試験--start位置= mysqlbinlogは" 10000 " --stop位置= " 20000 "   バイナリログを。000004   | mysqlの-uroot -p
3. * .sqlファイルの前に解決することができます
MySQLを入力し、ログインした後に実行
ソース/データ/ * .SQLを

戦闘の説明: 1、binlogのログが有効で、データの有効期限が回復することができない テーブル構造が変更された場合、2は、テーブル構造の変更の前に回復するためにデータを削除し、最初にテーブル構造を復元する必要があり、そうでない場合は、回復することはできません 3 、バイナリログログには、一般的に、時にはあなたが内部の複数のログファイル間でデータを復元したい、複数のを持っています

 記録された後ビンログは、データを回復します

復旧テスト窓
1可読ファイルが解析されます(ウィンドウの下に引っ張られbinlogのサーバー)
DECODE-ROWS-出力= -v binlog.000067> D --base64 mysqlbinlogは:/1.sql
Linux上で2トライのbinlogの分析読める
正常に解決ビットは驚い。
3.最新のbinlog探し
36643740#のAT回復位置
テーブルの再構築後のログ情報
のbinlogは、ローカルホスト内にデータを復元使用してみてください。4.
mysqlbinlogは--stop-位= 36643740 binlog.000067> Dを:/1.sqlが
位置由来ビンログ復旧情報
5. 1.SQLのデータ復旧を
復元することができます。しかし、結果はまだライブラリではありません
私は、リカバリポイントは、ライブラリの操作が含まれている削除することを
AT 36643625にノードを修正する
部分増分リカバリーに成功した6
の使用下でのデータベースのバックアップMySQLのログ
EG:使用デシベル;
ソース1.SQL、
あるデータデータログを復元することは完全に時間情報が含まれています

ヒント:上記のbinlog.000067はフルパスかもしれ
\:mysqlbinlogは--stop-位36643625 C Users \ユーザー管理\デスクトップ\ binlog.000031> C:\ Users \ユーザー管理\デスクトップ\ 1.SQL

注:Linuxで同じ操作は、最初に回復する前に、バックアップデータの構造や部分を復元する必要があります
たとえば、その後、第11.11をバックアップするには、少なくとも数11.11すべてのbinlogの書類を持っていると、にバイナリログファイルの日付を使用する
だけで、完全な回復を確実にするために、可能な複数のSQLファイル。重複した挿入操作とデータバックアップのbinlogデータは、データが繰り返される場合にも、その
リカバリポイントを選択するか、binlogの時間が非常に重要です。最後に、ニアミスがあります。

おすすめ

転載: www.cnblogs.com/UBEING/p/12307605.html