MTのデータベースをMySQL4からMySQL5へ移行 in さくらのレンタルサーバ
2009年初頭、さくらのレンタルサーバで行われたバージョンアップによりMySQL5が利用できるようになった。
しかし私は知らなかった、バージョンアップ作業でMySQL5が自動的に利用できるわけではないと。
きっかけ
気づいたきっかけはphpMyAdminの画面だった。
phpMyAdmin - 2.11.9.5
MySQL クライアントのバージョン: 4.1.22
MySQL サーバのバージョン: 4.0.27
こいつぁ、悪い冗談だ。
そう思いながらも念のために調べたら……データベースに関する重大な事実が判明した。
ご要望の多かったMySQLのバージョン5.1を追加し提供を開始いたします。
また、コントロールパネルから選択することにより、MySQL4.0の利用も可能です。※ MySQL は 4.0 / 5.1 どちらかのバージョンのみ選択できます。
現在 MySQL4.0 をご利用中の場合、MySQL5.1 をご利用いただくにはMySQL4.0 のデータベースを全削除する必要があります。
MySQL5.1 をご利用いただくにはMySQL4.0 のデータベースを全削除する必要が
ななな、ぬーーーーーーーー!
自分がMySQL5だと思って使っていたのがバージョン4だったショック。
これは、タラバガニがヤドカリ目だと知ったぐらいのショックだった。
というわけで、データベースの移行作業を早速行いました。
移行作業
実際の工程はこんな感じでした。
- データベースをバックアップ
- データベースを削除(MySQL4)
- データベースを作成(MySQL5)
- データベースの復元
- (mt-config.cgiを編集)
- (mt-config.cgiをアップロード)
しかしデータベースの扱いは、さくらのレンタルサーバのサポート外なので勇気が要りました。
データベースをバックアップ
データベースのバックアップはphpMyAdminのエクスポート機能を行いました。
さくらのレンタルサーバではサーバコントールパネルでデータベースを作成しないと、MySQL5の利用をできません。
なので、エクスポートはテーブルを対象にしました。
phpMyAdminでテーブルをエクスポートするには、その上位に当たるデータベースを開いて行います。
バックアップは、SQLファイルで行います。
さくらのレンタルサーバが用意したphpMyAdminでインポートできるのはSQL形式に限られています。
MySQL4データベースの削除
データベースの削除は、サーバコントロールパネルのデータベースの設定ページで行います。
後戻りはできません。
MySQL5データベースの作成
同ページで、標準[MySQL5.1](推奨)を選択してデータベースの作成を行います。
データベースを復元
バックアップしたデータベースのデータをインポートします。
バックアップ時と同じく、phpMyAdminで行いますが、その前に、文字セットの照合順序を確認します。
データベースを選択し、操作タブへ移動します。
ページの最下方に表示されている照合順序の選択が、バックアップしたデータベースの文字コード、つまり運用しているMovable Typeの文字コードに因んだ物であれば問題ありません。
これはやらなくても大丈夫だがやっておいた方が無難、のようです。
照合順序の選択はデータベースから下位のテーブルへ継承されます。
一般的に、Movable Typeの日本語文字コードに適したMySQL5の照合順序はこんな感じらしいです。
MTの文字コード | MySQL5の照合順序 |
---|---|
Shift_JIS | sjis_japanese_ci |
EUC-JP | ujis_japanese_ci |
UTF-8 | utf8_general_ci utf8_unicode_ci |
utf8_general_ciとutf8_unicode_ciの違いについては以下のページを参照。
- TETLIST::MySQL の照合順序の命名規則
- Ceekz Logs (吉田光男@筑波の日記)::utf8_general_ci と utf8_unicode_ci の違い
- PHPの種 ブログ::MySQLにおける、utf8_general_ci と utf8_unicode_ci の違いとは何か。
照合順序も問題なければ、データベースのインポートを行います。
バックアップ作業ではテーブルをエクスポートしたので、その上位に当たるデータベースを開いて行います。
これでMySQLの移行作業は完了です。
念のため、phpMyAdminの画面で表示を確認しましょう。
MySQL サーバのバージョン: 5.1.36
MySQL クライアントのバージョン: 5.1.30
phpMyAdmin バージョン情報: 3.1.3.1
しかし、データベースを利用するにはまだ作業が残っています。
データベースサーバの利用変更
既にお気づきかもしれませんが、MySQL5とMySQL4ではデータベースサーバが異なります。
サーバコントロールパネルやphpMyAdminで確認すればわかりますが、mysql**.db.sakura.ne.jpの番号が変わっていると思います。
そのため、データベースにアクセスするための設定を変更する必要があります。
mt-config.cgiの編集とアップロード
私はMovable TypeのデータベースにMySQLを利用しているので、その設定がmt-config.cgiファイル内に記述されています。
なので、mt-congif.cgiを編集してアップロードしなおします。
編集は数字を書き換えるだけなのであっという間です。
ObjectDriver DBI::mysql
Database ****
DBUser ****
DBPassword ****
DBHost mysql**.db.sakura.ne.jp
後はMovable Typeの管理画面に入り、文字化けなどの不具合がない事を確認すれば終了だす。
補足
phpMyAdminのバージョンとアドレス
データベースをMySQL5に移行してからphpMyAdminの画面が変わったと思ったら、バージョンが3.1.3.1になっていました。
以前は2.11.9.5でした。
また、phpMyAdminのアドレスも変わりました。
MySQL4の操作に使っていたphpMyAdmin 2.11.9.5は
https://secure.sakura.ad.jp/phpmyadmin/
でしたが、
MySQL5の操作に使うphpMyAdmin 3.1.3.1は次のアドレスです。
https://secure.sakura.ad.jp/phpmyadmin2/
それと、phpMyAdmin 2.11.9.5を使ってMySQL5のサーバにアクセスする事はできません。
MySQL5の速度
MySQL5の動作は速いです。
私が試した限り、MySQL4とは体感できるほどの差があります。
まず、phpMyAdminの画面が早く表示されるようになったと感じました。
これはphpMyAdminのバージョンが違うという理由もあるかもしれません。
それを別にしても、Movable Typeでは再構築の時間が短くなりました。
私のMTでは、13分だった全体の再構築が、10分になりました。
データベースの変更だけで3分も縮まるのは十分な結果でしょう。
mt-search.cgiの検索速度もより実用的なレベルになったと思います。
さくらのレンタルサーバでMySQL4を利用している人はMySQL5へ移行した方が良いかもしれません。
コメント[0]
コメント投稿フォーム
コメントを投稿するにはJavaScirptが必要です。ブラウザのJavaScriptを有効にしてください。
コメントはまだありません。