sync_binlog 控制数据库的binlog刷到磁盘
默认sync_binlog=1,表示每次事务提交,MySQL都会把binlog刷下去,是最安全但是性能损耗最大的设置。
sync_binlog=100或者是0。牺牲一定的一致性,可以获得更高的并发和性能。
innodb_flush_log_at_trx_commit 控制log_buffer刷到磁盘
0 每次提交事务log_buffer不写入log_file
1 每次提交事务log_buffer写入log_file,默认配置
2 每次提交事务,等1秒后log_buffer写入log_file
推荐做法是innodb_flush_log_at_trx_commit=2,sync_binlog=500 或1000
slave_preserve_commit_order
yes是为了确保在slave开启多线程时事务的提交顺序与relay log中一致