WordPress壊しました

Posted on 2010年03月21日 | 10 Comments| Clip to Evernote

先日、突然ワードプレスが壊れまして…
動揺しまくって直前にいじっていたプラグインのせいにしたり
まぁ大騒ぎだったんだけど、結局違うサーバーに移転して復活。
(結果的に原因不明なままだけど、多分プラグインは関係なかったと思う。)

WordPress の移転ってこんなに大変だったっけか@@;
という感じだったので一応後のためにメモしておく。
っていうか、困ったときに自分で見られるためにメモしてるのに
今回みたいにこのブログが落ちちゃうとどうしようもにないんだけど。
そんなときに役に立った Google のキャッシュ><b

データベースを修復してください

何をしようとしたのか既に覚えていないんだけど、
サイトのどっかをいじろうと思って先日入れた WordPress Super Cache を無効にして
念のため…とか思って Head Cleaner のキャッシュを削除。
その瞬間………
データーベースにエラーがあるから修復して下さい
的なメッセージが表示された。
何かやっちゃいけないことやっちまったー!!
と既にここでパニック。

WordPress にはデータベーステーブルにエラーがあっても
修復する機能が備わっているようで
「修復する」をクリックするとエラーがあるテーブルを修復できるようだ。
が…何度クリックしてもまったく直らない。
ブログのトップを開こうとすると「データベースに接続できません」画面。
うそーん@@;

直前の動作が Head Cleaner のキャッシュを削除だったものだから
wp_options テーブルの head_cleaner の行を消せばもしかして…
なんて思って phpMyAdmin で head_cleaner の部分をドロップ。
再び戻ってみたけどやっぱりエラー。

プラグインをすべて無効化しよう

ってことで、既に管理画面に入れないので phpMyAdmin から
wp_options テーブルで option_name フィールドの値が active_plugins の行を探して
その行の options_value フィールドを a:0:{} に変更。
これで動くかな…と思ったけどやっぱりダメ。

データベースをバックアップ

もうこうなったら再インストールしかないでしょう。
ってことで、データベースをまるごとエクスポート。
この先どういう使い方をするか分からないから
DROP TABLE を追加 とか、
完全な INSERT 分を作成する とか、
とにかくチェックを入れまくってエクスポート。
容量が大きいので dump に四苦八苦するので
作成するクエリの最大長を100とかに変更しておくといい
…ってことは後から知った…orz

データベースをローカルにダウンロードしたら
phpMyAdmin で一度すべてのテーブルを削除。
FTP で wp-config.php.htaccess をダウンロードしておいて
サーバーからは一度削除。
これでアクセスすれば WordPress のインストール画面になるはず。

WordPress 再インストール

思惑通り wp-config.php を作成する画面になって、
その後は順調にインストール画面に。

…なったのだが、なんと、wp_options テーブルが既にあるというエラーが。
えぇぇ…さっき削除したのに。
と思って phpMyAdmin で見るとしっかり残ってる。
もう一度全部削除してやり直し。
…っていうのを何度か繰り返したのだけど、
ゾンビのごとく復活する wp_options テーブル…orz
もしかしてこれって…あたしが何か変なことをやっちゃったんじゃなくて
たまたまサーバーが不安定なときにやっちゃったの間違い?
という疑問がふつふつと…。

やっぱりクリーンインストールしないとダメなのかしら。
ってことで、FTP ですべてのデータをダウンロード。
サーバーから削除。
何もいじってない、新しい WordPress をダウンロードしてきて
新品をアップロードして再びインストール作業。
それでもやっぱり出てくる wp_options テーブルのエラー。
もうダメだ…orz

違うサーバーに移転しよう

ここまでで既に数時間が経過していて、
サーバーには障害が発生しているという告知もないし、
同じサーバーの別の MySQL で動かしてる WordPress は正常に動作してる。
思い返せば以前からごくまれに、何もいじってない時に
「データベースに接続できません」表示になったことがあった。
もしかしてこの DB が不安定だとか言わない?
まっさらの状態にしちゃったし、今さら復旧するのを待つのも…
ってことで、違うサーバーにお引っ越しすることにした。

幸い「にくきゅう☆うぇぶ」で使っている Web Hosting Pad というサーバーは
容量無制限、DBも無制限、ドメインも無制限、メールアドレスも無制限…
という凄いサーバーなのでそっちにドメインごと移転を決意。

ドメインとサーバーの準備

まず時間のかかるドメインから。
ネームサーバーを Web Hosting Pad に変更。
Web Hosting Pad のコントロールパネル(cPanel)にログインして
アドオンドメインで lovesickly.com を追加。
サブドメインで yuina.lovesickly.com を追加。
Eメールアカウントで使っているメールアドレスを追加。
MySQL データベースでこのブログと、レンサバ出張所用にDBを2個作成。

もうこの際廃棄処分にしたいレンサバ出張所…。
なんでこのブログをサブドメインにしちゃったんだろう…orz
なんていう後悔は多分この先ずっと付きまとうんだろうな。
なんてことはおいといて。
lovesickly.com の方もデータベースを丸ごとエクスポートしておく。
FTP で旧サーバー内のすべてのデータをダウンロードしておく。

メンテナンス中の表示を出しておく

ネームサーバーが反映されるのを待つ間、
lovesickly.com の方はそのまま表示されるからいいとして、
真っ白にしちゃった旧 yuina.lovesickly.com の方に
「メンテナンス中です」を表示させるテキトーなファイルをアップロードしておく。
実はこのときそんなに時間がかかると思ってなくて、
数時間ならまぁいいやってテキストファイルに.htmlくっつけたようなのを
ホントにテキトーにアップしただけだったんだけど、
想像以上に時間がかかったので 503 を返すように設定した。
メンテナンス中画面を正しい作法と.htaccessの書き方 を参考に
.htaccess を設定すれば大体は大丈夫みたいだけど、
ハッスルサーバーではうまくいかなくて、
メンテナンス中の画面を表示させる方法 を参考に
503.php を作って .htaccess を設定するやり方で成功した。

これでネームサーバーが反映されるまでの間は
「ただいまメンテナンス中です」っていう表示が出るようにできたので、
ネームサーバーが反映されるまでの間に移転先サーバーを準備する。

データベースのインポート

もしデータベースが壊れているのだとしたらダメかもだけど、
なんとなく丸ごとエクスポートしたDBを丸ごとインポートして平気な予感がして
(つまり壊れてるのはハッスルだという予想w)
エクスポートしておいたデータベースをインポートしてみる。
ハッスルサーバーでは phpMyAdmin で大きいサイズのインポートができなくて
以前は BigDump を使った記憶があるけど、
Web Hosting Pad では100 MiBまでアップロードできちゃう。
これはかなり凄いことで、大きいサイズのDBをさくっとインポートできるのは
なんていうか、言葉にならないくらい嬉しかったりw

FTP でダウンロードしたファイルもそのまま FTP でアップロードする。
wp-config.php と .htaccess はアップロードしない。

同じ作業を lovesickly.com の方(レンサバ出張所の方)もやる。
実は lovesickly.com のデータベースは MySQL4 だったので
SQL 互換モードで MYSQL40 を選択する。
っていうのは文字化けしてΣ( ̄Д ̄;)がーんっ!ってなってから気付いたw

あとはネームサーバーの反映をドキドキして待つだけ。

wp-confing.php を作り直して完成

ネームサーバーが反映されたらトップページにアクセスして
wp-config.php を作り直す。
普通にインストールを進めようとすると「既にあるよ」みたいな表示出るので
あとは普通に管理画面にログインする。

あらもう元通り(ノ´∀`*)

すべてのプラグインを無効にした後のデータベースだから
1つずつ様子を見ながら有効化していく。
設定とかを変更しないといけないプラグイン(emojiとか)は変更。
WordPress の設定も念のため全部確認。
最終的にすべてのプラグインを元に戻して(アクティブにして)
検証のために Head Cleaner のキャッシュを削除してみた。
…特に問題は発生しなかった。
あぁ、やっぱりハッスルのせいですかね?
はたまた相性の悪いプラグインが偶発的に競合したとか?
原因は謎のままだ。

とにかく、こうして二日がかりでようやく復旧することができた。

移転先のサーバー

サーバーを変更して、なんか気持ち表示速度が速くなった気がするし、
以前は管理画面(ダッシュボード)を表示させるのに凄い時間かかったのに、
こっちのサーバーではすぐに表示されるという大きな違いに喜んだり。
以前、FTP の速度が遅い気がする…とぶつぶつ言ってたことがあるんだけど、
こっちのサーバーは FTPES (明示的なTLS/SSL上のFTP)が使えるので、
ソフトを FileZilla に代えたら驚くほど速くなった。
(FileZilla は日本語で使える。)
容量を気にしないで使えるし、Web Hosting Pad に引っ越してよかったな…。

って、宣伝めいてるけど、実はいいことだけじゃない。
バックアップと最適化に便利な WP-DBManager が使えない。
WordPress Database Backup が動くからバックアップは大丈夫だけど
最適化のプラグインは入れないとねぇ。
あとは、たまに(時間帯によって?)cPanelがやたら重いことがある。
あとは個人的な問題だけど、サポートセンターが全部英語だから分からないことがあると大変。
今のところ Web Hosting Pad にたいする不満はそんなもんかなぁ。
どれもとても些細なこと。(あたしの英語力は別として…orz)
ハッスルサーバーも気に入っていたけど、当たり外れがあるよね。
共有サーバーはどこもそういうもんだけどさ。

あれ、結局最後は宣伝ですかって感じになってしまったぞ。
ま、まぁ、そんなこんなでやたら大変だったけどサーバーの移転が完了した。

最後になりましたが、Twitter で暖かいコメント下さった
@cipherさん、@wokamotoさん、@Seyfried24さん、
@oiti16さん、@shiroutoSEOさん、@mhiroakiさん、
本当にありがとうございました!!


この記事は 2010年03月21日日曜日 の 5:49 AM に書きました。 
この記事のフィードはRSS 2.0で購読できます。

« | »

9 Comments for this entry

  • modernoid

    復旧お疲れ様でした。

    アップロードしたいファイルをzipで固めて、cPanel上のファイルマネージャでアップロードしてから解凍するのが早いかなとか思ったり思わなかったり。

    • 唯奈

      >modernoidさん
      ありがとうございます><!
      cPanelのファイルマネージャーで解凍できるんですか@@!
      知らなかった…il||li _| ̄|○ il||li
      いいことを教えていただきました。
      ありがとうございます~^^
      今度からそうしますw

  • gadget7a

    WordPress壊しました: 先日、突然ワードプレスが壊れまして… 動揺しまくって直前にいじっていたプラグインのせいにしたり まぁ大騒ぎだったんだけど、結局違うサーバーに移転して復活。(結果的に原因不明なままだけど

  • 永田や COO

    こんにちは!
    先日ツイッターでぼやいていた(笑)のは
    このことだったんですね。
    と言っても、ブログを拝見しても
    COOはチンプンカンプンのチチンプイプイ。

    パソコンのトラブル発生時には
    唯奈さまに相談すれば
    なんとかなるだろう、ってことだけは
    よぉーくわかりました!(笑)

    • 唯奈

      >永田や COOさん
      (* ^ー゚)ノコンニチハ
      一時は投げ出したくなる勢いでテンパってましたが
      なんとか復旧(っていうか移転だけど)できてよかったです^^v
      ちなみにパソコン本体のことは詳しくありません。
      フリーソフトを探してきてどうにかする方向で…w

  • zakuro

    読んでいるだけで頭がこんがらがって、
    何をやればいいのか、私もわかりません。

    もしWPが壊れたら、こちらを参考に復旧作業に進み、
    さらに無理な場合は相談させていただきます。

    その時はヨロシクお願いします(笑)

    • 唯奈

      >zakuroさん
      結局原因が何だったのか不明なままなので
      解決できました!とは言えないところですが
      サーバーを代えただけで元通りってことはやはり………。
      また同じようなことが起きたら解決できか不安ですが
      最悪DBのバックアップさえあればもしインポートできなくても
      手動コピペって手段もありますしねw

      いぁ、壊さないように使うのが一番っすよね><b

  • さひろ

    はじめまして。

    復旧おめでとうございます。

    WPブログ始めたばかりなので、興味深く復旧の様子読ませていただきました。

    難しいことは出来ないのでバックアプの方法を調べて、バックアップだけはしっかりしておこうと決意しました。

    ありがとうございます。

    • 唯奈

      >さひろさん
      初めまして。
      コメントありがとうございます。
      滅多に壊れないと思うんですけど、何かやっちゃったときのためにバックアップは大事ですね。
      …もう壊さないように気を付けます><;

1 Trackback or Pingback for this entry

ADgger

堅実に儲かるアフィリエイト