PDF(美国Ltr)- 26.8 mb
PDF (A4)- 26.8 mb
リカバリの開始時間と終了時間を指示するには,mysqlbinlogに——start-datetime
および——stop-datetime
オプションをDATETIME
フォマットで指定します。例として,2005年4月20日午前10時ちょうどに,大きなテーブルを削除するSQLステートメントが実行されたとします。テブルとデタをリストアするには,前夜のバックアップをリストアして,次のコマンドを実行します。
Shell > mysqlbinlog——stop-datetime="2005-04-20 9:59:59" \ /var/log/mysql/bin. sh123456 | mysql -u root -p
このコマンドは,すべてのデタを——stop-datetime
オプションで指定された日時までリカバリします。数時間たって,入力された誤ったSQLステートメントを検出しなかった場合,その後発生したアクティビティーもリカバリする必要がある可能性があります。これに基づいて,次のように開始日時でmysqlbinlogを再度実行できます。
Shell > mysqlbinlog——start-datetime="2005-04-20 10:01:00" \ /var/log/mysql/bin. sh123456 | mysql -u root -p
このコマンドでは,午前10:01から記録されたSQLステ。前夜のダンプファ操作系统管理员ルのリストアと2操作系统管理员のmysqlbinlogコマンドの組み合わせでは,午前10点の1秒前までのすべてのものと午前远からのすべてのものをリストアします。
ポイントインタイムリカバリのこの方法を使用するには,ログを調べて,コマンドに指定する正確な時間を確認してください。ログファルの内容を実行せずに表示するには,次のコマンドを使用します。
Shell > mysqlbinlog /var/log/mysql/bin。123456 > /tmp/mysql_restore.sql
次に,テキストエディタで/ tmp / mysql_restore.sql
ファルを開き,それを調べます。
mysqlbinlogに時間を指定して,特定の変更を除外することは,除外されるステートメントと同時に複数のステートメントが実行された場合,うまく機能しません。