レプリケーション初体験

MySQLレプリケーションを試してみました。
マスタのOS:Debian sarge
スレーブのOS:FedoraCore3
※どっちもVMWare上で動いている


やっぱ最初はエラーでスタート!
こんなエラーがエラーログに出ました。

[ERROR] The slave I/O thread stops because master and slave have different values for
the COLLATION_SERVER global variable. The values must be equal for replication to work


システム変数COLLATION_SERVERが一致してないと。

show variables;
でみてみたら、
マスタのCOLLATION_SERVERがutf8_general_ciで、スレーブはlatin1_swedish_ciになってた。


そこで、マスタ・スレーブともにmy.cnfに

default-character-set=utf8

を書き書き。


めでたくレプリケーションが動き、データがマスタ->スレーブに反映されていることを確認できました。


教訓
レプリケーションが動いてないときは

  • エラーログをみる
  • show processlist\Gを打って確認する(レプリケーションが動いているときはUser:system userのrowが2つ出ている)