MTOSからWordPressに年末に乗り換えたばかりなのですが、その際、MySQLのバージョンアップを行わなければなりませんでした。 WordPress 2.9の推奨環境がMySQL 4.1.2以上となった一方、使っていたDBはMySQL4.0だったからです。
ここのサーバーはさくらのレンタルサーバ(スタンダードプラン)なのですが、ここではデータベースが1つしか作成できません。 ・・・ということで使用中のデータベースを削除し、新しくデータベースを作成するしかありませんでした。
しかし一旦削除する、というのはなかなか勇気が要ります。なんせミスしたら復旧できませんからね。。
とりあえず念には念をってことで以下のように作業しました。WordPressに移行する前だったので、データベースにはMTOSのデータが入っている状態でした。
- 現状使用しているMTOSの機能でバックアップを作成(一応、保険的な感じで・・・)
- レンタルサーバのコントロールパネルからphpMyAdminを使い、データベースのエクスポートを行ってバックアップファイルを作成
- ローカル環境(XAMPP)のMySQL5.1に(2)でエクスポートしたファイルをインポートし、問題なくインポートできるか確認
- (3)で問題がないことを確認できたら、レンタルサーバのコントロールパネルから現データベースを削除
- データベース削除を行うと「データベースを作成」みたいなボタンが現れるので、データベースをMySQL5.1で作成
- 作成したデータベースのphpMyAdminから、(2)で作成したファイルをインポート
- MTOSの mt-config.cgi の内容を新データベースに合わせて修正
- MTOSにログインして問題がないか確認
これらの作業の中で特筆すべきポイントはデータのエクスポート、インポートのところですね。文字コードが一緒でないと、日本語部分が文字化けしてしまいます。
まず、phpMyAdminにログインする際に「日本語 – Japanese (utf-8)」を選択しましょう。
サーバーによっては「日本語 – Japanese」としか表示されない場合もありますが、問題ありません。さくらのレンタルサーバではこれでした。
それと、ログイン後の画面の「MySQL の接続照合順序:」でインポート側とエクスポート側で同じものを選択します。「utf8_general_ci」か「utf8_unicode_ci」あたりかと思います。
左フレームから該当データベースを選択し、右上メニューの「エクスポート」をクリック。
エクスポートの際は「ファイルに保存」するにチェックを入れる以外の設定はとりあえずそのままで。
エクスポートされた *.sql ファイルをエディタで開いてみて、文字コードがUTF-8になっているか、日本語のデータが文字化けしていないかを念のため確認。インポート時には「ファイルの文字セット」で「utf8」を選択しましょう。
MTみたいに静的なファイルを書き出すCMSだと、データベースを削除してもファイルは残るのでサイトには影響がないですが、動的生成のCMSの場合はデータベース削除はNGですね。サイトが見えなくなっちゃいますので。どうしても削除する場合、作業中には「現在メンテナンス中」的な画面を代わりに表示させるとか、そういった対応が必要なのかなと。
追記 – 2010-01-22
ドンピシャな内容の記事を発見したので、リンクをさせていただきます。コチラ様の方がずっと丁寧!
さくらインターネットのレンタルサーバで WordPress 2.9 へアップグレードできない方へ – Bamboo Studio * バンブースタジオ | Blog
追記 – 2010-01-25
さらに、本文中の「~」(全角チルダ)が「?」に文字化けしてしまう問題について。解決法について詳細な記事を発見。
小粋空間: Movable Type で「~」が「?」に文字化けする事象や日本語のタグが合算できない不具合を解消する
すでに作られてしまったテーブルについては、phpMyAdminにおいて
該当テーブルを選択 → 「構造」メニュー → 「すべてチェックする」 → その右のエンピツマークのアイコンをクリックして「編集」モードに → 「照合順序」に指定のあるものについては「utf8_general_ci」に変更 → 「保存する」
これを全てのテーブルで行うとそれ以降、「~」が文字化けしなくなります。
また、こんなプラグインも見つけました。
WordPress Plugins/JSeries » Force Wave Dash (波ダッシュ矯正)
記事を保存する際に「~」(全角チルダ)を「〜」(波ダッシュ)に強制的に変換してくれるプラグインです。