もう随分前のことになりますが、 WordPress 2.9 になってから MySQL のバージョンが MySQL 4.1.2 以上が必須になりました。このサイトを運営しているハッスルサーバーの MySQL4 のバージョンは 4.0.27 。ハッスルサーバーでは、 MySQL5 を新しく提供を始めたので、 MySQL 4 がバージョンアップすることはないと思われるので、 MySQL5 へ移行しなくてはなりません。
めんどくさいなぁ、と思って放っておいたのだけれど、時間帯別アクセス数の推移がおかしい。今までの経験上、訪問者のピークは 22 時から 24 時くらいの間になるのだけれど、 12 時以降横ばい。もしかして、サーバーの限界を超えたのか? とサーバー移転を検討してみたものの、まずは原因の切り分けをしてみよう、というところに落ち着いたのです。
なので、その第一弾といて、データベースサーバーを移転してみることにしました。サーバーが違えば、レスポンスが上がるのではないか、という期待を込めて、同じハッスルサーバーの MySQL5 のデータベースサーバーへデータを移してみました。
以下、その手順と覚え書き。
概要は大ざっぱにいうと下記のよう。
- phpMyAdmin で MySQL4 のデータをデフォルト設定にてファイルにエクスポート
- phpMyAdmin で MySQL5 へインポート
- wp-config.php のデータベースサーバーの設定を変更
文字化けしたり、容量オーバーで読み込まなかったりといろいろ試行錯誤した結果、一番簡単な方法を見つけたのでポイントをメモ。
1) phpMyAdmin の文字コードが(ログインするときに) UTF-8 になっていることを確認。
これを忘れるとハッスルサーバーの場合デフォルトは EUC になってしまうので注意。
2) スキマーの問題。
ログインネームを選んでエクスポートすると、データベース全体がエクスポートさて、ユーザーネーム等のテーブルを管理する情報(スキマー)もエクスポートされ、インポートするときにユーザー名が競合して MySQL5 にインポートできないらしい。なので、データベースを選んでエクスポートするのではなく、すべてのテーブルを全て選択してのエクスポートをおすすめします。そうすると、スキマーはエクスポートされません。
3) エクスポートしたファイルが 2MB 以上だと、ハッスルサーバーではインポートできない。
初めから gzip なんかでエクスポートした方がよい。(圧縮なしファイルを Mac にて zip にしてインポートしようとしたら、「 Compressed size is not equal with the value in header information. 」というエラーが出ました。 Windows だったら多分大丈夫だと思います。)データベース全体をエクスポートしてしまうと、スキマー情報を消すために、テキストエディタでエクスポートした SQL ファイルを開く必要が出てしまうので、 2) で紹介した方法をとるのがベスト!
この 3 つの点に気をつければ、エクスポートしたファイルをそのままインポートして、 wp-config.php の設定を変えるだけ。データベース移行も楽々ですね。
参考にしたのは下記サイト。(微妙にやり方が違います。)
→ Y&M blog + L : WordPress 2.9 アップグレードの為の MySQL5 データ移行
→アフィリエイトでお小遣い:ハッスルサーバーで WordPress2.9 移行完了