tombo2-progress’s diary

できるだけ毎日1時間を切り取ってここに晒す。誤字脱字気にしない。日本語が崩壊するのも気にしない。最終的にまとめて本ブログに書く

詳解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)を買えるべきでない