デーべベースでDELETEを実行してしまった。
先日本番のデータベースの作業を行っているときに誤ってDELETEを実行してしまい、データベースの一部を削除してしまいました。無事復旧でしたので手順を残しておきます。
はじめに
まずは落ち着いてください!!
これが一番重要です。どうにかなります。
タバコでも吸うなり、飲み物を飲むなりして落ち着いてください。(味はしない)
焦って作業を行うと二次災害を起こしかねません。
バックアップから新たなデータベースを作成
- AWSのRDSから自動バックアップを選択します。
- 対象のデータベースインスタンスを選択して、アクションから特定地点の復元を選択します。
- カスタム日時を選択して、DELETEする前の日時を選択します。
- 元のデータベースの情報を見ながら、設定を行っていきます。(接続の設定を同じにしないと接続できなかったりするので注意)
- 必要な項目を選択したら特定時点への復元を押下します。
- 数十分したらバックアップからデータベースが作成できるかと思います。
dumpを作成
- データベースの作成が完了したらターミナルからdumpを行います。
mysqldump -u ユーザー名 -pパスワード -h エンドポイント --hex-blob DB名 テーブル名 --where="条件" > 任意のファイル名.sql
※ここで接続できない場合は、データベースの作成時の設定に不備があるので、セキュリティグループなどの確認してみてください。 - 作成したdumpファイルに不備がないか、エディタで確認します。
リストア
以下のコマンドでリストアを行います。
mysql -u ユーザー名 -pパスワード -h エンドポイント DB名 < 任意のファイル名.sql
終わりに
報告書を書きました😭
少しでも参考になれば幸いです。