3年ぶりにブログをふっ飛ばして復旧するまでの経緯

    atom

    Web制作を事業として扱ってるんだけど、個人的にも現役でコード書いてる。そんな僕が派手にやらかしてしまった。

    今日はそんなお話

    dbの整理していたらブログのデータベースを誤って削除

    ブログ全体のデータを久々にふっ飛ばしてしまったのだけど、これがなんともなさけない話で今契約しているサーバのdbが10個までしか作れないもんだから使ってないdbを削除して空きを作ろうなんて思ってサクサク削除してたら、このブログのデータベースも削除してしまった。

    自分の媒体だとそのあたりゆるくなるよね。

    一応言い訳しておくと、お客さんの案件じゃそういうことしないからね(笑)

    バックアップを復旧させるのにめちゃくちゃ時間がかかった

    最後に自分のブログをふっ飛ばしたのってカレコレ3年くらい前だって記憶してるんだけど、そんときからはちょっと進化してさ、ちゃんとバックアップを取るって技を覚えた。

    このちょっとした進化のおかげで最新記事までバッチリdbに残ってた。

    グッジョブ!ちょっと前の俺。

    db残ってるから復旧なんて楽勝でしょうって思ってたらそれが甘かった。

    この手のトラブルで楽勝って思ったときってなんで全然楽勝で終わらないんだろうね(泣)

    結論から言うと復旧できたからこのブログ書けてるわけなんだけど、ここにたどりつくまでにはかなり紆余曲折を経たので、そのあたりちょっと書いておく。

    ないと困るけどへそ曲げると大変なcloudflareとsqlとサーバとエディタ

    大量の無駄な作業を経てなんとか復旧したんだけど、cloudflareとかその辺りの普段ないと困る系のものがことごとく足を引っ張った。

    復旧までは

    • バックアップしてあったsqlをダウンロード
    • それをphpmyadminでインポート

    したら完了するやん。って思ってたんだけどこれが甘かった。

    実際には

    1. バックアップしてあったsqlをダウンロード
    2. phpmyadminでインポートを試みる
    3. サーバ側のファイルアップロード上限3Mに対してsqlが66Mもあることが発覚
    4. php.iniをいじってアップロード上限をあげようとするものの使用サーバのphp.iniを編集しても反映されず
    5. 仕方なく大容量のsqlをアップロードできるBigdumpというツールを使って再度挑戦

    bigdump

    • Bigdumpのアップロード仕様に引っかかってエラーでアップロードできず
    • ここでMAMP使えばファイルアップロードの上限調整できるし、一回MAMP側のdbにインポートしてBigdumpに対応した方法で書き出せばいいことに気づく。
    • 早速取り組むもMAMPのphp.iniの設定を変更しても再起動すると設定が初期化される罠にハマる
    • 色々試してみるものの全然上手くいかず。最終的にMAMPのメニューから変更かけないと変更が反映されないことに気づく。マジかよ…
    • なんとかMAMP側にsqlをインポートすることに成功し、仕様を変えてsqlをエクスポート
    • エクスポートしたファイルで再度Bigdumpを使ったインポートに挑戦
    • Bigdump既存のカラムがあるとエラーになることが発覚
    • 入れなおしたwp標準のカラムを削除
    • 再度Bigdumpを使ってインポート。ここでやっと成功
    • 管理画面に入ろうとすると強制的にhttpsに飛ばされてログインできず
    • Cloudflareを無効にしていたことを思い出し再度有効。ログインに成功
    • トップページ以外は復旧したことを確認するもののトップページがエラー
    • キャッシュクリアでトップページも元にもどる

    とまぁこんな感じに試行錯誤しながら復旧したっす。

    大変だった…

    SNSでもご購読できます。