4
0

デーべベースでDELETEを実行してしまった。

先日本番のデータベースの作業を行っているときに誤ってDELETEを実行してしまい、データベースの一部を削除してしまいました。無事復旧でしたので手順を残しておきます。

はじめに

まずは落ち着いてください!!

これが一番重要です。どうにかなります。
タバコでも吸うなり、飲み物を飲むなりして落ち着いてください。(味はしない)
焦って作業を行うと二次災害を起こしかねません。

バックアップから新たなデータベースを作成

  1. AWSのRDSから自動バックアップを選択します。
  2. 対象のデータベースインスタンスを選択して、アクションから特定地点の復元を選択します。
  3. カスタム日時を選択して、DELETEする前の日時を選択します。
  4. 元のデータベースの情報を見ながら、設定を行っていきます。(接続の設定を同じにしないと接続できなかったりするので注意)
  5. 必要な項目を選択したら特定時点への復元を押下します。
  6. 数十分したらバックアップからデータベースが作成できるかと思います。

dumpを作成

  1. データベースの作成が完了したらターミナルからdumpを行います。
    mysqldump -u ユーザー名 -pパスワード -h エンドポイント --hex-blob DB名 テーブル名 --where="条件" > 任意のファイル名.sql
    ※ここで接続できない場合は、データベースの作成時の設定に不備があるので、セキュリティグループなどの確認してみてください。
  2. 作成したdumpファイルに不備がないか、エディタで確認します。

リストア

以下のコマンドでリストアを行います。
mysql -u ユーザー名 -pパスワード -h エンドポイント DB名 < 任意のファイル名.sql

終わりに

報告書を書きました😭
少しでも参考になれば幸いです。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0