2014年10月28日火曜日

MySQLスレーブの整合性を保つための3つの設定

David Guthrie

MySQLのスレーブサーバが落ちて、立ち上げた時にマスターとの整合性を心配したくないのであれば以下の設定を入れると良いそうです。

MySQL設定ファイルに追記
# emacs /etc/my.cnf

[mysql]
binlog_checksum            = CRC32
relay_log_info_repository  = TABLE
relay_log_recovery         = ON

MySQLをリスタート
# service mysqld restart


各設定に意味については、下記サイトが参考になります。

binlog_checksum            = CRC32
”バイナリログが破損した場合に破損を検出し易くするために、バイナリログにチェックサムを追加”
http://thinkit.co.jp/story/2014/01/23/4717/page/0/1

relay_log_info_repository  = TABLE
relay_log_recovery         = ON
"MySQL 5.6でスレーブをクラッシュセーフにするには"
http://yakst.com/ja/posts/57


結果、スレーブサーバは以下の様な設定になりました。
※ HandlerSocket の設定込みです。