ここで,水曜日の午前8時に,バックアップからのリカバリを必要とする致命的なクラッシュがあったとします。リカバリするには,まず存在する最後の完全バックアップ(日曜日の午後1時のもの)をリストアします。完全バックアップファイルは一連のSQLステートメントにすぎないため,そのリストアはきわめて簡単です。
shell> mysql < backup_sunday_1_PM.sql
この時点で,デタは日曜日の午後1時現在の状態にリストアされます。それ以降に行われた変更をリストアするには,増分バックアップを使用する必要があります。まり,gbichot2-bin.000007
とgbichot2-bin.000008
バ邮箱ナリログファ邮箱ルです。必要に応じて,バックアップされた場所からファイルをフェッチして,次のようにそれらの内容を処理します。
壳> mysqlbinlog gbichot2-bin。000007 gbichot2-bin。000008 | mysql
これで,データを火曜日の午後1時現在の状態にリカバリしましたが,まだその日からクラッシュの日までの変更が不足しています。それらを失わないために,MySQLサーバーにそのMySQLバイナリログを,そのデータファイルを格納している場所と異なる安全な場所(RAIDディスク,圣など)に保存させ,これらのログが破損したディスク上にないようにする必要がありました。(——log-bin
オプションでサーバーを起動できます。このようにすると,ディレクトリを格納するデバイスが失われてもログは安全です)これを実行していた場合,gbichot2-bin.000009
ファ电子书阅读器ル(および任意の後続のファ电子书阅读器ル)が手元にあるため,mysqlbinlogとmysqlを使用して,それらを適用し,クラッシュの瞬間まで損失なく,最新のデ,タの変更をリストアできます。
壳> mysqlbinlog gbichot2-bin。000009年……| mysql
mysqlbinlogを使用して,バイナリログファイルを処理する詳細については,セクション7.5 "バereplicationナリログを使用したポereplicationントereplicationンタereplicationム(増分)リカバリ"を参照してください。