こんにちは、Jetstream BLOG 管理人兼ライターの石井順です。
当ブログ「Jetstream BLOG」は 2012 年より、当初使っていたブログサービス Blogger から CMS サービスの WordPress に移行しまして、そしてもう 7 年くらい運営し続けています。
この数年間でテーマをいろいろ変えたりプラグインをいろいろ入れたり、そりゃもう覚えてないくらいいろいろとカスタマイズしてきました。ただここ最近は、AMP や PWA といったモバイル向けサービスを軸として、シンプルで速いサイト作りが求められている傾向もあって、2019 年早々にテーマを WordPress が公式に提供するテーマに入れ替え、そして PWA に対応したり Native AMP サイト公開に向けて準備したりなど、“シンプルイズベスト” なサイト作りを行っている今日この頃です。
そんな中、つい先日、下手したらブログが振り出しに戻ってしまうほどの事件が起きていました。
ことの発端はデータベースバージョンアップ
当ブログは、レンタルサーバーの Xserver を利用しています。
特に深い理由はありません。当初 WordPress を始めるにあたっていろいろとレンタルサーバーを探していたら、Xserver が一番目に入ってきただけのこと。そして数年間、Xserver を使い続けています。
で、レンタルサーバーって新機能やバージョンアップなど、結構ちょくちょくと行われています。スマートフォン同様に最新バージョンに目がない私は、Xserver が新たに提供を開始していたデータベースの新バージョン MySQL5.7 に移行することにしました。
ちなみにそれまでは MariaDB5.5(旧 MySQL5.5)で、それまではいわゆる古いバージョンで使っていました。MariaDB5.5 から MySQL5.7 への移行は簡単で、Xserver が用意する移行ツールを利用して、単に数回クリックを行うだけです。これで、基本的には移行が完了します。
データベースを移行するとホスト名も変わるので、wp-config.php のホスト名部分を修正したりなども必要です。この辺は若干つまづきながらも、なんとか自力で完結。
が、、、新しい MySQL5.7 のデータベースにブログをつなげたのはよいものの、アイキャッチ画像がほぼ全部消えるというトラブル発生。しかも、MariaDB5.5 に戻してみても同じ状態。
メディアライブラリを覗いてみたら、こんな状態でした。移行前まで保存されていたメディアは、全部グレーに。
正直未だにデータベースのバージョンアップが原因かは不明のままなのですが、何にしろ行っても帰っても地獄の状態です。Xserver に問い合わせても、“データベースのバージョンアップが原因とは考えにくいから自力で頑張って” みたいな返答しか返ってこない始末。
こういう作業を行う場合、必ずバックアップをとっておくことはセオリーです。しかしこれまで我流でやってきた私にとって、バックアップをとったところでこれを復元するやり方もあんまりわかっていないので、結果不要、と思ってバックアップもしないままガンガン進めてしまっていました。
なのでもはやどこに戻ればいいのかもわからず、むしろどうすればいいのかもわからず。ブログの過去記事が全部消えたわけではないし、過去記事のアイキャッチが表示されないだけで新規投稿分はちゃんと表示されるから、まぁ目をつぶってまたコツコツやればいいか、とも思ったのですが、やはり気持ち悪くてなんとかしたくなりました。
でも何をどうすれば。。。
復元を試みるもことごとく失敗
実は Xserver には、過去一週間分のデータベースを自動で無料バックアップしてくれるサービスがあります。
これは特に申し込みなど必要なく、Xserver ユーザーであれば誰でもいつでも利用できるサービスで、これを利用して過去一週間までだったらいつでもバックアップデータから過去日のデータベースを復元する “自動バックアップから復元” することが可能なんです。
ただ結論からいうと、この “自動バックアップから復元” での復元も叶いませんでした。
理由はこの事件が解決した後の Xserver の調査でわかったことなのですが、MariaDB5.5 から MySQL5.7 に移行した場合、ホストが異なる同じデータベース名のデータベースが複製される仕様となっているのですが、この状態だと “自動バックアップから復元” をしても上手くいかないためでした。仕様っちゃ仕様です。
とにもかくにも打つ手なし、もうダメだ、泣きそう。。。確定申告もやらないといけないのに。。。
救世主現る
もう諦めようかと思いつつも諦められなかったので、Twitter で誰となく救いを求めてみました。
WordPress マスターな誰か、助けてー
— Jetstream (@blog_jetstream) February 22, 2019
するとなんと、見知らぬ方から返事が!しかし、、、
どうかしましたか?
— エテルナ (@club_eterna) February 22, 2019
出張ホストだと?これは関係ない奴から適当なメッセージが来たんだな、と思ってアカウントページを見てみると、、、
なんと、とってもハイブリッドなお方でした。
それから DM を通してやり取りをさせていただき、お言葉に甘えていろいろと指南を受けながら、なんとか過去日でのデータベース復元に成功。アイキャッチも、キレイに表示される状態まで戻すことができました。
ちなみにデータベースの復元には、Xserver が提供しているバックアップデータの有料申し込みを利用しました。無料で利用できる過去 7 日分の “自動バックアップから復元” は、あくまでも Xserver が保有しているバックアップデータを利用して復元できるサービスで、バックアップデータを提供してくれるものではありません。
バックアップデータの有料申し込みの場合は、過去 7 日分のデータベースバックアップデータをサーバー上に配置してくれる、データ提供サービスとなっています。要は、お金(5,400 円)さえ払えばバックアップデータをもらうことができるということです。
とはいえ、過去数年間もほぼ毎日更新してきたブログです。そのデータ量といったら、結構なものになります。
なのでバックアップデータの有料申し込みでもらったデータベースのバックアップデータを、MySQL からそのままインポートしようとしても、容量がでかすぎてエラーが出まくりでした。
しかしそんな問題も、エテルナさんの手にかかればちょろいもんです。データ容量が大きいデータベースのバックアップデータを、FTP を使ってインポートする方法も教えてくれました。
これで、難なく復元成功。しかも新たに作成した空の MySQL5.7 なデータベースにインポートしたので、データベースのバージョンアップも同時にできちゃいました。
ちなみに過去日で復元したデータベースは、もちろん過去の日付でブログの更新も止まってしまっています。なので差分は前もってエクスポートしておき、データベースを復元してからそこに差分の記事を流し込みました。これでキレイに完了。で、今に至ります。
まとめ
最近はテーマの PHP をちょっといじったり CSS をいじったりして、簡単なカスタマイズだったらなんとかできるようになった私ですが、データベースはやっぱいわからない。
そしてデータベースは、とっても危険。テーマを壊してしまっても別のテーマを入れればとりあえずはなんとかなりますが、データベースを壊してしまったり削除してしまったら終わりです。なので、特にデータベースを触る場合は事前のバックアップ必須。
大事なことなのでもう一度言います。バックアップ必須です。
とにもかくにもエテルナさん、今回は本当にお世話になりました。最初はちょっと白い目で見てしまいそうになってしまいましたが、今では “先生” と呼ばせていただいています。
そして多分今後もお世話になります。どうぞよろしくお願いいたしますm(_ _)m