MySQL5への移行完了
今年の秋は天候が不順で紅葉が長持ちしてるようです。というより紅葉が進まず中途半端なのでしょう。街路樹の銀杏も木によって散りかけたものからまだ緑葉が残ったものまで斑です。山の紅葉は例年になく早かったのに平野部の紅葉はぐずぐずしてます。
Movable Type 5への移行準備としてMySQL5への移行を昨日行いました。案じていた通りスンナリとは行かず1日掛かりとなりました。データベースを使う検索などの機能は1日使えない状態でした。苦労したデータベースの移行作業、備忘録として残します。
レンタル・サーバーに備わっているphpmyadminを使ってまずMySQL4でデータベースをバックアップ。参考にしたネット上の情報とは違った操作画面にまず戸惑いました(テンプレートによって操作画面がカスタマイズされてるようです)。それらしきオプションを選んでデータベース全体を自分のパソコンに落としました。この時点でもう不安増大です。
次にレンタル・サーバーの操作画面上でデータベースを削除。もう後に戻れない。更にMySQL5に切り替えて、新規にデータベースを作成。
そしてphpmyadminに戻って、落としておいたデータベースのバックアップ・データをMySQL5で作ったデータベースにインポートしようとしたらエラーで読み込んでくれない。インポートの画面も参考にしたネットの情報とは違っており戸惑いながら色々とオプションを選び直して何度も試しましたがエラーとなります。 駄目だー! ガーン!
一旦MySQL4に戻してインポートしようとしても駄目。二進も三進もいかなくなりました。データベースの知識が無い上に、英文のエラー・メッセージですので全く理解できません。朝4時になって作業を断念。レンタル・サーバーのプロバイダーにサポート依頼のメールを出して一眠りすることにしました。
直せるまでデータ・ベースなしでの運用。見た目上は問題はないのですが、新規の投稿、コメントやトラックバック、検索などのデータベースを使う機能は動きません。困ったー!
昼過ぎにレンタル・サーバーのサポートからメールが入りました。「データベースの移行についてはサポート外です」と。ウワー!
困った時のネット頼り。あちこちデータベースに関する記事を検索しました。そして在りました、同じように困った人のQ&A。
結論からいうと、私のレンタル・サーバーのようにphpmyadminで勝手にデータベースを作成する権限がない場合はバックアップの取り方が違う(バックアップの際のパラメターの指定が違う)ことが分かりました。そこでバックアップ・データをエディターで読んでそれらしく所を削除した上でインポートしたら読み込み始めました。
[削除した項目]
DROP DATABASE `データベース名`;
CREATE DATABASE `データベース名`;
USE データベース名;
オー!よしよしと思ったらまたまたエラー。今度はsyntaxがおかしいとのメッセージ。エディターでチェックすると項目を区切るコンマが化けています。他を見てくと日本語が全て化けていました。そこでバックアップしたデータをエディターでUTF-8に変換してからインポートしたら全て読み込んでインポート完了のメッセージが出ました。ヤレヤレ!
私のレンタル・サーバーのデフォルトのコードはEUC-JPで、バックアップ・データもEUC-JPで作られていました。Movable TypeはUTF-8を使っていますのでコードが違うので化けていたようです。
作業を始めて18時間、ようやく夕方になってMySQL5への移行を終わりました。この投稿がMySQL5での初投稿、そして再構築。うまく行ったら移行は成功です。さて、どうでしょう。
追記)備忘録として不足がありましたので追記しておきます。
- データベースが変更になったのでConfig.cgiでのデータベース名及びHost名の変更が必要。
- ここのデータベースではMax Import Sizeが15MB。現在の容量は11MB弱。今後のDB内容の増加によってはバックアップの分割が必要。
- MySQL5への移行に伴いDBサーバーがLocalHostより外部DBサーバーになった。その関連でレスポンスが心配でしたが、現状では検索やブログの再構築に要する時間には大差が出ていない。
MySQL5への移行はうまく行ったようです。
コメントする