さくらインターネットで WordPress 2.9 へのアップグレード(Movable Typeが同居している場合)

管理画面から簡単にアップデートできる WordPress ですが、最近リリースされた WordPress 2.9 は「MySQL 4.1 以上のサーバ要件でないとインストールできない」仕様となり、以前から、さくらのレンタルサーバを使用しているユーザはデータベースの移行が必須となっていました。結構面倒な話なので、放置していましたが、来月からの長い出張の前に、すっきりするために重い腰を上げて作業することにしました。以下作業の内容と、反省点等を記述しておきます。

まずは下記を参考にデータベースの移行をします。

さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ
http://bamboostudio.tank.jp/archives/1692


さくらインターネットでWordPressを2.9にアップデートするためにMySQLをバージョンアップ
http://blogging.from.tv/wp/2010/01/10/3223

エクスポートを実行してみたところ、なんと 1.1GB にもなったので、記述にあるように下記のツールを使ってインポートします。

BigDump: The Staggered MySQL Dump Importer
http://www.ozerov.de/bigdump.php

このサイズだと転送だけでも2〜3時間かかりますので、大変な作業です。しかしよく考えると、そんなに沢山エントリがある訳でもなく、phpmyadmin で見たところ、容量が大きいのは Movable Type の mt_log というテーブルでした(spamフィルターのプラグインがエラーを大量に吐いているようです)。作業の履歴がここに残されるものだと思いますが、管理画面からログを削除することができるので、残しておく必要性はないようなので、全部削除して、再度エクスポートしてみたところ、7MBとなりました。これに気づいたのはインポートした後だったので、上記の作業時間はかなり無駄でした。バックアップするときには無駄なものは削除するのは基本ですね。

インポートは終わり、WordPress の動作確認を行い、OKだったので安心していると、一緒に入っていたMovable Type の管理画面で、入力したデータが全部文字化けに!

これは大変とググってみたところ、解決策がありました。


Movable Type + MySQL 4.1 を組み合わせると日本語が文字化けする不具合/障害の解決方法
http://iandeth.dyndns.org/mt/ian/archives/000112.html

具体的には mt-config の「SQLSetNames 1」という記述を有効にするだけでした。

また、結構な時間、参照不能だったこともあり、下記を参考にメンテ中状態にしようとしましたが、ここでもハマりました。


メンテナンス中画面を出す正しい作法と.htaccessの書き方
http://web-tan.forum.impressrd.jp/e/2009/06/16/5880

Apache 2.2系 では下記の記述がOKなのですが、さくらのレンタルサーバではApache 1.3系なので使えないようです。


RewriteRule ^.*$ - [R=503,L]

そこで、下記を参考に修正しました。


メンテナンス画面を表示させる方法(Apache 1.3対応版)
http://www.shifft.in/blog/development/maintenance-mode/

今回はシンプルな表示で行いましたが、メンテナンス中画面も色々工夫することで、サイトを見にきた人にも好印象となりますよね。


Effective Maintenance Pages: Examples and Best Practices
http://www.smashingmagazine.com/2009/06/12/effective-maintenance-pages-examples-and-best-practices/

面倒でしたが、色々と勉強にもなった作業でした。もうしばらくやりたくないですけど。

コメントをどうぞ

Get Adobe Flash playerPlugin by wpburn.com wordpress themes