2013
8月
2
現行システムをCentOS5.3からCentOS6.4に変更することにした。
MySQLの引越しは、CentOS5.3のMySQLをMasterとし、CentOS6.4のMySQLをSlaveとしてReplicationで同期を取り、CentOS5.3のMySQLを停止してCentOS6.4のMySQLを正規のDBとした。
その途端一部のシステムで文字化けが発生した。
DBを参照している全システムが文字化けをしたのではなく、一部のシステムだけが文字化けを起こしたのだ。
CentOS6.4のMySQLのバージョンは5.1.69だ。
原因と対策
my.cntで設定している[mysqld]の default-character-set = utf8 が原因だった。
MySQLのバージョン5.1から サーバーの設定だけ character-set-server に変わったらしい。
[mysqld]の設定だけ以下のように変更したら文字化けが解消された。
default-character-set = utf8
↓
character-set-server = utf8
クライアントの設定は、 default-character-set = utf8 のままでいいらしい。
Categories: MySQL