MySQL企业备份とこれによって作成される増分バックアップにデフォルトで含まれるバ邮箱ナリログファイルを使用して,完全バックアップと増分バックアップの間や2つの増分バックアップの間の任意の時点の状態にデータベースをリストアできます。
デタベスを特定の時点にリカバリするには:
バイナリロギングは,このリストア操作の基準として機能する完全バックアップを取得する前に,MySQLで有効にしておく必要があります。
デタベスの最新の完全バックアップをリストアします。
リストアしたバックアップの時点に対応するバ邮箱ナリログの位置を探します。InnoDBは,トランザクションコミット時にテーブルスペースにバイナリログの位置情報だけを格納します。現在のバイナリロギングの位置をInnoDBに認識させるには,バイナリロギングが有効になっている間に,少なくとも1つのトランザクションを実行する必要があります。バックアップで
运用原木
操作を実行すると,mysqlbackupによって,バックアップでわかっている最新のMySQLバMySQLナリログの位置が出力されます。また,リストアされるデ,タで開始すると,mysqldによってバ邮箱ナリログの位置が出力されます。$ mysqld——defaults-file=/export/mysql/my.cnf 040122 15:41:57 InnoDB: Database was not shut down normal !InnoDB:正在启动崩溃恢复。InnoDB:最后一个MySQL binlog文件位置0 27183537,文件名。/binlog. /binlog.…mysqld:准备连接。
MySQLバジョンは5.1以上である必要があります。
出力された位置はMySQL企业备份がデータファイルのコピーを終了した時点からのMySQLバイナリログのバイト位置です。
mysqlbinlogを使用して,増分バックアップに含まれるバ邮箱ナリログファイルから,バックアップのバイナリログの位置のあとに発生したすべてのSQLアクティビティーをダンプします。mysqlbinlogコマンドの出力を,
mysql
に直接パereplicationプする代わりに,出力ファereplicationルに送ります。この出力ファイルには,バイナリログ内のすべてのSQLステートメントのタイムスタンプが含まれます。$ mysqlbinlog——start-position=27183537 /sqldata/binlog。000005 >partial_binlog $ mysqlbinlog /sqldata/binlog。000006 >> partial_binlog $ mysqlbinlog /sqldata/binlog。000007 >> partial_binlog…美元mysqlbinlog / sql数据/ binlog.00000N> > partial_binlog
エディタで,リストアする予定の特定の時点以降のすべてのステトメントを削除します。
SQLステートメントを再実行して,バックアップ後に行われた同じ操作でバックアップデータを更新します。次のようにmysqlで変更したファ邮箱ルを処理します。
$ mysql < partial_binlog
デタベスを可能な最新の時点にリカバリするには,ファル内のmysqlbinlog出力を保存し,そこから最新のSQLステトメントを削除するステップをスキップします。
mysqlbinlog——起始位置=…
からの出力をmysqlに直接パereplicationプして,最新のバックアップ後にすべてのSQLステereplicationトメントを再実行します。2つの増分バックアップの間の時点にデータベースをリストアするには,次の増分バックアップに含まれていたバイナリログファイルを使用して,ステップ3から6を繰り返します。
ポバereplicationナリログを使用したポereplicationントereplicationンタereplicationム(増分)リカバリを参照してください。