元のデータベースしかない時にWordPressを復旧する方法
はじめに
先日、こんな依頼がありました。
「サーバーがハッキングに遭って、データベースしか残っていないのですが、何とか復旧できないでしょうか」
・・・色んな事が頭を巡りました。
どんな状況なんだろう。。。ハッキングで、FTP上のデータ全部なくなる事ってあるんだろうか。
オリジナルテーマだった場合、復旧はできないと思う。。。
しかし、出来るところまでやってみようという事で、今回、引き受けてやってみました。
今回、手元にあるのはデータベース(.sql)のみ。
そのデータベースを真っ新なWPに起こしてみた作業を今回はまとめてみました。
前準備
ローカル環境にWordPressをインストールする(ここでは、http://locaohost/restortionとする)
※DBは新規作成する任意(ここでは仮にデータベース名:restortionとする。)
※とりあえずインストールまで済ませる。
バックアップしたデータベースの復旧
phpmyadminで、データベースrestortionに、バックアップで残っていたデータベース(●●.sql)をインポートする。
※重複したデータは上書きされる。
ドメインが変わるため、ツールを使って((元URL例)http://example.comからローカルになる:http://localhost/new)
ここでは、「Download Search Replace DB」というツールを使う。
https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
上記でダウンロードしたファイルを解凍して、ローカルのrestortionディレクトリに投入する。
この時点で、ローカルにインストールした際のログインIDとパスワードは、データベースを上書きしたため使用できなくなった状態。元サイトのIDとパスワードでログイン可能となっている。
また、元サイトのWordPressログインIDとパスワードを忘れた場合は、データベースをいじるしかない。
ログインIDとパスワードを忘れた場合の対処方法
ローカルのphpmyadminから
・該当するデータベース→wp_usersにアクセスする
・該当ユーザーの「編集」をクリックする
・「user_pass」を任意の値に書き換え、実行する。
この際、関数は「mb5」を選択しておく※重要
これでログインできるようになります。
※元ユーザーを複製して各項目を書き換えてもログインはできないので注意する。
参考:https://qiita.com/nnmr/items/0512a0b26651aeac7c94
DB復旧後の対応
現時点では、テーマが選択されていないため、サイトは表示されません。
今回の例では、「attitude」という、フリーのテーマが使われていたようです。
しかし、現状ではそのテーマがthemaフォルダ内にない状態。
また、プラグインもない状態。
ほかにも、アップロードした画像等がない状態。
解決するには、以前のサイトの「wp-content」を使用する必要があります。その中にはuploadsフォルダやpluginフォルダがあります。
とにかう、「wp-content」フォルダさえ何とか助かっていれば、ウィルスに感染していてもなんとかなります。(今回はそれが手元にないため、完全復旧はできませんでした。)
※オリジナルテーマではない限り、テーマやプラグインはインストールできる。
以前のサイトがウィルスに感染していた場合のwp-content復旧留意点
留意点は下記の通り
・プラグインは新たにダウンロードする。(足りないプラグインは表示されているため)
・テーマ内に怪しいファイルがないか確認する。(ひとつひとつ開いて確認。)
元のURLに復旧するには
All In One WP Migurationでローカルからオンラインへ引越しする。これでひととおり完成。
まとめ
今回の作業は、色んな事象が絡み合って、なかなか歯ごたえ?のあるものでした。
phpmyadmin上でデータベースインポート、パスワードが分からないユーザーのパスワード再設定、以前のプラグインやテーマはどうやって割り出すか、などなど。
やはり基本的に、ウィルス感染していたとしても「wp-content」フォルダの中身は欲しいですね。
それさえあれば、あとはブラウザのデベロッパーツールや過去サイトのアーカイブなどである程度まで戻せるかと思います。
似たような事象に遭遇した場合の参考になれば幸いです^^
公開日:2018年9月24日
最終更新日:2018年9月24日