2010年01月08日

MySQL4.x→5.1 at かごや

久々にハマったので備忘録です。
WordPressのDBを4.x系から5.1に移行しようとしてGoogle先生に問い合わせ。結構事例が多く楽勝と思ったのですが、なぜかさくらインターネットの記事ばかり。
ウチはかごやを使っているのですが、まあ大きな差はないだろうとタカをくくり早速作業に。
kagoyaのいいところは、4.xと5.1と併用して使えるところです。
(プランによって一つしか使えないプランがあるらしい。)
もともとアクセスの少ないサイトでしかも一つ前のサイトもディレクトリごと残しておいたので、移行中はそちらを表示させることにしました。
sshなど使えないのでphpmyAdminを使って作業。
DBにアクセスし、「エクスポート」を選択。
このあたりを参考に
・[DROP TABLE を追加]
・[AUTO_INCREMENT 値を追加する]
・[テーブル名やフィールド名を逆クォートで囲む] をチェック
・[データ] 内の全ての項目のチェックを外す
・[完全な INSERT 文を作成する] をチェック
して、エクスポート。
新しい5.1のDBに切り替えてインポート。
インポート時は
SQL互換モードでSQL40を選択

で、やってみたのですが文字化け。というか先頭の数文字しか表示されず、文字化け以前のレベル。
散々悩んだのですが、要するにエクスポートした後にローカルに保存するファイルが文字化けしてたらダメなんですよ。(当たり前)
なので、文字コードを変えられるテキストエディタを用意して切り替えて、文字化けや記事がきちんとエクスポートされているかどうかを確認する必要があります。
ところが何回いろんな文字コードのパターンで試してみても先頭の数文字しかエクスポートされません。
悩んだ挙句、ログイン時のphpmyAdminのホームにある言語設定をeuc-jpに変えたら正常にエクスポートできました。

phpmyAdmin

どうやらWordPressはUTF-8で保存してるーという頭があって気づかなかったのですが、DB自体はeucで、その中にUTF-8で保存しているらしいです。
なので、エクスポートもUTF-8でエクスポートして、テキストエディタでEUCに変換。
インポート時はEUCで読み込んだら正常に表示されるようになりました。
phpmyAdmin自体、使う機会がないととっつきにくいですが、エクスポートに関してはさほど怖くないので、いろんなパターンで試してみると良いかと思います。
基本の
・[DROP TABLE を追加]
・[AUTO_INCREMENT 値を追加する]
・[データ]をチェック
・[完全な INSERT 文を作成する] をチェック
を抑えておけば大丈夫なようです。

以上、備忘録でした^^;
posted by BigMoonEz at 11:31 | Comment(0) | TrackBack(0) | WordPress | このブログの読者になる | 更新情報をチェックする