MT5アップデート~さくらインターネットでMySQL4.0から5.1へ移行する

  • 投稿日:
サイトのリニューアルのきっかけは、MovableTpyeが4から5へバージョンアップしたことでした。
せっかくなので新機能を使ってみたかったので。

最初、普通にマニュアル通りにアップデートをしてみると、DBの更新がいつまで経っても終わりません。
中断して記事を書くこともできたのでしばらくアップデートしていませんでしたが、使っているMySQLのバージョンに問題があったようです。
さくらインターネットを契約した時には4.0しか使用できなかったので、ずっとそれで来ましたが、MT5ではMySQL4.0はサポートされていないのでした。
そこで、まずMySQLのアップデートからです。
手順は

  1. データのエクスポート
  2. DBの削除
  3. DBの作成
  4. 文字コードの設定
  5. データのインポート
となります。

データのエクスポートはこんな感じ。
$ mysqldump-4.0 -h [dbhost] -u [dbuser] -p [dbname] > mysqldump.sql
テキストファイルで吐き出されるで、文字が化けていないか確認しましょう。
エスケープされているので、ある程度読めれば大丈夫。まったく読めない場合はどこか間違っています。

そして緊張のDBの削除。
さくらインターネットのコントロールパネルから実行します。
一応コントロールパネルからバックアップを取っておいてもいいかもしれません。
失敗したら後戻りできないんで。

次にDBの作成。5.1で作成してください。

DBの状況はこんな感じになってるでしょう。

mysql -v -h [dbhost] -u [dbuser] -p  [dbname]

mysql> status;
---------
mysql  Ver 14.14 Distrib 5.1.30, for portbld-freebsd7.1 (i386) using  5.2
Connection id:          5105438
Current database:       xxxxx
Current user:           xxx@xxx.xxx.xxx.xxx
SSL:                    Not in use
Current pager:          stdout
Using outfile:          "
Using delimiter:        ;
Server version:         5.1.38 FreeBSD port: mysql-server-5.1.38
Protocol version:       10
Connection:             mysqlxxx.db.sakura.ne.jp via TCP/IP
Server characterset:    ujis
Db     characterset:    ujis
Client characterset:    ujis
Conn.  characterset:    ujis
TCP port:               3306
Uptime:                 68 days 21 hours 53 min 50 sec

文字コードがujisになっているのでutf8にしてインポートします。

mysql> alter database [dbname] character set utf8;
mysql> \C utf8
mysql> \. mysqldump.sql

MySQLの4.1と5ではホスト名が違うので、mt-config.cgiのDBHostを書き換えてください。

DBHost mysql215.db.sakura.ne.jp

準備完了です。
MT5をダウンロードして、既存のディレクトリに上書きコピー、ログイン画面にアクセスするとアップデートが始まります。

こちらの記事を参考・引用しました。