さくらインターネットで 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/

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

One Comment

  1. domain:

    Unquestionably imagine that that you said. Your favorite reason seemed to be at the internet the easiest factor to bear in mind
    of. I say to you, I certainly get annoyed whilst other folks consider
    issues that they plainly don’t realize about. You managed to hit the nail
    upon the top and also defined out the whole thing with
    no need side effect , other folks could take a signal.
    Will probably be back to get more. Thank you

Leave a comment