Wordpress MEは終了してしまったし、MEの2.1以降は文字コードがすべてUTF8になっているのでアップグレードをずっと躊躇していました。

しかしセキュリティホールとかいろいろな問題もあるのでここは気合を入れてアップグレードすることに(・ω・´ )

幸いにも先日新サーバー機に変えたばかりで、 旧サーバー機がまんま残っていたので旧サーバー機でちゃんとME2.1.xから2.5.1へアップフレードできるか試験しつつ行いました。

※新サーバー機=本番機
※旧サーバー機=試験機
※DB=MySQL上のデータベース(wordpress)

1.本番機のDBをmysqldumpする
> mysqldump -u root -p wordpress > wordpress.sql

2.wordpress.sqlをエディタで開いてujisの箇所をutf8に修正する
3.nkfを使ってwordpress.sqlの文字コードをUTF8に変換する
> nkf -w wordpress.sql > wordpress.utf8.sql

4.試験機のDBを削除してDBを新規に作成しなおす。
> mysql -u root -p
> drop database wordpress
> create database wordpress

5.本番機からwordpress.utf8.sqlをとってきて試験機へインサートする。
※ウチの場合wp_optionsテーブルのインサート段階でエラーがでたのでwordpress.utf8.sqlの中からwp_optionsのインサート行を削除しました。
> mysql -u root -p < wordpress.utf8.sql

6.試験機でWordpressのサイトよりWordpress2.1.5を入手。
7.試験機でWordPress のアップグレードの手順どおりにアップフレードを行う。
8.試験機でwp_optionsのインサート行を削除したので各種設定を手動で再設定する。
9.試験機でプラグインとかテーマ等でEUCで日本語が直接書いてあるスクリプト等をnkfでutf8に変換する。
10.動作に問題がなければ試験のwordpressディレクトリ(ウチはblog)を圧縮する。
> tar cvf blog.tar blog

11.試験機でMySQLのDB(wordpress)を圧縮する。
> cd /var/lib/mysql
> tar cvf wordpress.tar wordpress

12.wordpress.tarを本番機に移動して解凍後差し替える。
> service mysql stop
> cd /var/lib/mysql
> mv wordpress wordpress.bak(※どこかに退避させておくべし)
> tar xvf wordpress.tar
> service mysql start

13.blog.tarを本番機に移動して解凍後差し替える。
> cd ~hoge/
> mv blog blog.bak
> tar xvf blog.tar

以上で終了!

とりあえずちゃんと見れているし大丈夫でしょう!