Home > MySQLでハマる > MySQL4.0→4.1へのデータ移行で文字化け

MySQL4.0→4.1へのデータ移行で文字化け

というのが発生してしまいました。
MySQL4.1の仕様変更の罠にまんまとハマった、といったところでしょうか。

あれこれやってみたのですが、my.ini(Windows版のMySQLなもので。Linux版の場合はmy.cnf)に「skip-character-set-client-handshake」を指定することで解決した模様。

詳細は「MySQLユーザ会のFAQ」を参考にさせていただきました。

手順は以下のとおり。

  1. MySQL4.0からmysqldumpを使ってデータをバックアップ
    mysqldump -u root -p -x -F --all-databases > C:\backup.dmp
  2. MySQL4.1.22の「my.ini」を下記のように編集
    ※ Windowsプラットフォームなので文字コードはCP932を指定した。

    [mysql]
    default-character-set=cp932
    :
    [mysqld]
    skip-character-set-client-handshake
    default-character-set=cp932
    :
    [mysqldump]
    default-character-set=cp932
  3. 一旦MySQLを再起動
    net stop mysql
    net start mysql
  4. 1. で取得したバックアップをリストア
    念のために「–default-character-set」オプションを指定する。

    mysql -u root -p --default-character-set=cp932 < ドライブ:\パス\backup.dmp
  5. 権限テーブルのアップグレード
    mysql -f -u root -p < MySQLインストールパス\scripts\mysql_fix_privilege_tables.sql

なお、この方法でMySQL4.1に移行したデータをバックアップする際、mysqldumpに「–default-character-set=cp932」のオプションをつけないと、特定文字(表、など)の後に「¥」マーク(エスケープ文字)が挿入されるので注意(0x5C問題というやつか)。

このへんの文字変換については、もうすこし勉強しなくては。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.nozuchi.net/oike/wp-trackback.php?p=176
Listed below are links to weblogs that reference
MySQL4.0→4.1へのデータ移行で文字化け from お池にハマってさあ大変

Home > MySQLでハマる > MySQL4.0→4.1へのデータ移行で文字化け

Calendar
« 2018 年 4月 »
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30          
最近の投稿
 

Return to page top