MySQL4 から MySQL5 へ移行(ハッスルサーバーにて)
WordPress 2010/3/31 16:30もう随分前のことになりますが、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移行完了

こんにちは。WordPressのお引っ越しをやっていて、MySQLエクスポートデータの取り込みで同様のエラーに見舞われ、こちらのページにたどり着きました。こちらの環境ではなぜかgzipのエクスポートで6つくらいのテーブルしかダウンロードファイルに含まれないので、無圧縮のファイルをWindows環境にてzip圧縮し、それを再度Mac環境からアップロードできました。
「多分大丈夫だと思います」ということでしたので、うまくいきましたよ、のご報告でした。(自分のブログにもアップしようとしつつ、引っ越し途中なので、こちらのコメントにて。)
◇falconさん◇
こんにちは。コメントありがとうございます。
無圧縮ファイルをWindowsで圧縮すればインポートできましたか!
メモ書きがお役に立てたようで何よりです。
そして結果のコメントを残していただけてありがたいです。
わたくしも今度はサーバーを移転しようかと思っております。