old « 新宿御苑で花見 | メイン | 昭和記念公園のチューリップを見てきた » new

XREAサーバーのバージョンアップでデータベースが消えた

2015年04月25日

要約:
XREAサーバーのMySQLのバージョンアップによってブログのデータが全て消えたけど、何とか直った。

原因:
データベースそのものが消されていた。

復元手順:
XREAの管理画面からDBを再作成
XREAの管理画面からPhpMyAdminを再インストール
XREAの管理画面からPhpMyAdminにログインし、「/_DB_BACKUP_XREA_UPGRADE」に吐かれたダンプファイルを「インポート」

---

ブログをインストールしているXREAサーバーのバージョンアップがあった。

MySQLサーバーのバージョンアップ(5.6系へ変更)
PostgreSQLサーバーのバージョンアップ(9.3系へ変更)
ウェブサーバーのバージョンアップ(Apache2.2系へ変更)
標準のPHPのバージョンアップ(PHP5.2系 → PHP5.3系へ変更)
PEARライブラリもPHP5.3ベースに変更
CGI版PHP5.2 / 5.3 / 5.4 / 5.5 / 5.6の最新版へのアップデート
FastCGI版PHP5.3 / 5.4 / 5.5 / 5.6の提供
セーフモードの解除
お客様サイト内に存在する所有者「apache」のファイルはユーザー様へ変更

告知のメールは前から来ていて、ふーんそうなんだー程度に思ってた。
で、バージョンアップの翌日、ブログにアクセスできなくなった。

原因はこれ。

MySQL4以前などの古いデータベースからデータは完全には引き継げませんので、データベース内のデータが一旦空になります。
特に文字コードはUTF-8が標準となりますので、そのまま引き継ぐと不具合が出る可能性があります。
お客様ご自身で事前にダンプを取得していただきますよう、お願い申し上げます。

え、DB消えたの?
データどこ行ったの?

その下をよく見ると、

また、弊社にて作業実行直前のダンプデータをFTP領域の「/_DB_BACKUP_XREA_UPGRADE」に設置いたします。

なるほど、ダンプはあるのね。
と思って「/_DB_BACKUP_XREA_UPGRADE」を見てみると、ファイルサイズが0のダンプファイルがあった。
え…?
ダンプちゃんと吐かれてないじゃん…?

その日は諦めて出社。

翌日。

もう一度「/_DB_BACKUP_XREA_UPGRADE」を見てみると、ちゃんとデータの入ったダンプファイルがそこにはあった。
前日の時点ではまだダンプが完全に吐かれていなかった模様。

XREA管理画面からPhpMyAdminにログインを試みるも、ログイン失敗。
単純にパスワードが間違っているのかと思って色々試したけど、どう頑張ってもログイン出来なかった。

今日。

色々調べた結果、そもそもデータベースが消えてるんじゃない?疑惑。
データベース再作成はちょっと怖いけど、ダンプは取れてるし、やってみた。
XREA管理画面の「データベース」から、データベース名を選択してパスワードを入れて、「作成」。

その後数分待って、PhpMyAdminにログインしてみたら入れた。
そこから、データベースを選択して、「インポート」画面でダンプファイルを指定して実行。

・・・成功!

早速ブログにアクセスしたら、以前の状態に復元された。
めでたしめでたし。


(余談)
同一の問題がROOMの投稿小説と、フリーソフトBOXで発生してたけど、同じ手順で一応復元出来た。
ただ、ROOMの投稿小説の場合はダンプされたデータが何故か以下の変換が行われていなくて、手動でダンプファイルを直す必要があった。

「/_DB_BACKUP_XREA_UPGRADE」に取得したMySQLのダンプデータについては、MySQL4.0.18以下からのバージョンアップで発生する、下記・既知の項目を修正させていただいております。

1)下記の置換え。
TYPE=MyISAM → ENGINE=MyISAM
TYPE=InnoDB → ENGINE=InnoDB
timestamp(14) NOT NULL → timestamp NOT NULL

2)先頭文字列「-----」で始まる行の除外。

あと、復元後にページは表示出来たものの、以下のエラーが先頭行に表示された。

Deprecated: Function ereg() is deprecated

これはPHPのバージョンアップの影響。
以下のファイルを修正することで解決した。
mtインストールフォルダ(mtフォルダの1個上)にある「mt-dynamic.php」で以下の置換を実施。

置換前:ereg
置換後:preg_match

以上。
MovableTypeを使ってる3サイトが完全復活した。

このエントリーをはてなブックマークに追加

old « 新宿御苑で花見 | メイン | 昭和記念公園のチューリップを見てきた » new

トラックバックURL

このエントリーのトラックバックURL:
http://blog.hp-improve.com/mt/mt-tb.cgi/1446

コメントする