詳解MySQL5.7 p48まで
疑問
repli_semi_syncの開始にmasterの再起動が必要ではないか? (p40あたり)
dynamicに変更可能 https://dev.mysql.com/doc/refman/5.6/ja/server-system-variables.html#sysvar_rpl_semi_sync_master_enabled
innodb_support_xa
https://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_support_xa
メモ - 準同期レプリケーションでのmasterの永続化はbinlogのfsync完了できまる 1. binlogにwrite 1. binlogをfsync <- ここが完了すればリカバリされる 1. ストレージエンジン(innodb)にcommit
config
- sync_binlog = 1
- innodb_support_xa = 1
- rpl_semi_sync_master_wait_point
- AFTER_COMMIT (< 5.6)
- AFTER_SYNC (> 5.7)
- rpl_semi_sync_master_wait_for_slave_count
- rpl_semi_sync_master_wait_no_slave
- master_info_repository = TABLE
- クラッシュセーフスレーブの条件
- relay_log_info_repository = TABLE
- relay_log_recovery = ON
- relay_log_purge = ON
- 5.6以降から?binlog_order_commits = ON (default)を買えるべきでない