同僚が誤って本番運用中のDBを消してしまった。 自分も同じミスを犯しかねないので、対処法をメモしておく。 まず、復旧にはダンプファイルとバイナリログが必要となる。無い場合はこの記事ではカバーできない。 両方ある場合は以下の手順で復旧する。 まず、バックアップしてあったダンプファイルでバックアップ時点まで復旧する。 バイナリログから必要な期間のSQLを抽出する。 どの時点からのSQLを抽出するのかが難しいところだが、普通はバックアップを取った時点からだろう。 mysqldump -d db_name /var/lib/mysql-bin.000001 --start-datetime='2011-06-06 01:11:25' --end-datetime='2011-06-07 11:11:12' > recover.sql バイナリログが複数ある場合は、必要に応じて追記していく。