めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

MovableTypeのデータをMySQL 4.1から5.0に移行する

MovableTypeのデータをMySQL 4.1から5.0に移行するのを調べた。

現状

mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
mysql> SHOW VARIABLES LIKE 'char%';
+--------------------------+-----------------------------------------------+
| Variable_name            | Value                                         |
+--------------------------+-----------------------------------------------+
| character_set_client     | utf8                                          | 
| character_set_connection | utf8                                          | 
| character_set_database   | utf8                                          | 
| character_set_filesystem | binary                                        | 
| character_set_results    | utf8                                          | 
| character_set_server     | utf8                                          | 
| character_set_system     | utf8                                          | 
| character_sets_dir       | /usr/local/mysql-5.0.37/share/mysql/charsets/ | 
+--------------------------+-----------------------------------------------+
8 rows in set (0.00 sec)

MySQL 4.1からのダンプ作業

まずは、binaryで書き出す。すると、日本語が化けていない!

mysqldump -u root -p mt --default-character-set=binary> dump.sql

でも、このままだと色々ダメだったのでどうするか。

変換

」で知った。
あと、sedって初めて使いました

sed 's/DEFAULT CHARSET=latin1/DEFAULT CHARSET=utf8/g' dump.sql > dump-new.sql

読み込み

mysql -u root -p mt < dump-new.sql

これで、化けないで読み込めた!ここまで長かった

MySQL全機能リファレンス

MySQL全機能リファレンス