45式::雑記
45式::雑記は、日々の事を記してないから日記ではなく雑記です。

MTのデータベースをMySQL4からMySQL5へ移行 in さくらのレンタルサーバ

コメント
0件
トラックバック
1件

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だったショック。
これは、タラバガニがヤドカリ目だと知ったぐらいのショックだった。

というわけで、データベースの移行作業を早速行いました。

移行作業

実際の工程はこんな感じでした。

  1. データベースをバックアップ
  2. データベースを削除(MySQL4)
  3. データベースを作成(MySQL5)
  4. データベースの復元
  5. (mt-config.cgiを編集)
  6. (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_ciutf8_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を有効にしてください。

コメント投稿フォーム

トラックバック[1]

夏休みの工作 - 長州の風 -山口県応援団- (2011年8月21日14:27)
借りている、さくらレンタルサーバーのMySQLが、かな~り昔に4から5.1にバー...
カテゴリ
アーカイブ
ヘルプ
Feed

フィードとは