【解決】WordPress:ロリポップから有償で提供されたMySQLのダンプデータから記事を復旧する方法

先日、手が滑ってWordPress用のDBを過去のバックアップで上書きしてしまった。3か月分の記事が消えて一瞬無になったものの、調べてみるとバックアップオプションに加入していなくても有償でバックアップを提供してくださるとのこと。さすが。

問い合わせフォームから必要事項を記載して依頼をすると、あとはメールで下記のようなやりとりが発生する。

  1. 見積もり、注意事項の確認
  2. 左記について了承メールを送信
  3. 支払い・振込先案内
  4. 振込確認とバックアップ提供

ロリポップ側から振込が確認されると、半日ほどでサーバ上に/service-backup/というフォルダが作成され、その中にバックアップファイル「LA00000000-dataabase名_yyyymmdd_hhmm」というファイルが格納された。

しかし、その後が問題であった。

そもそもバックアップファイルに拡張子がない。これって sqlなの? ということで冒頭の一部分をコピーしてGeminiさんに聞いたところ「おそらくMySQLのダンプデータで、拡張子は.sqlでしょう」とのこと。

まずロリポップFTPからダウンロードしようとしてもできない。パーミッションを変えてもだめ。仕方ないのでファイル名のあとに一時的に拡張子「.sql」を付与したところダウンロードできた。

次に、ロリポップ管理画面で新しくデータベースを作成、phpMyAdminにログインして、とりあえずダウンロードしたファイルをインポートしてみた。「インポートは成功しました!」と出るものの、新規作成したDBの構造は空のまま。

しょうがないので、phpMyAdminの「操作」から、過去のデータに上書きしてしまった旧DBの「構造とデータ」を、新DBにコピーした後、バックアップデータをインポート。

すると、新DBにバックアップファイルのデータが無事にインポートされた。素人がどうにかこうにか復旧した手順なので、きっともっとスマートな方法があるに違いない。