正文
(4)InnoDB 落盘
MySQL数据落盘的路径,图片来自李春hatemysql.com。
-
主库insert之后再回滚 ,主备库自增主键不一致
-
使用replace into操作,导致主备库自增主键不一致
-
set session sql_log_bin=0
常见的双写
(1)slave_skip_counter 不合理
slave_skip_counter =1
slave_skip_counter >1
(2)DB Crash,OS正常
innodb_flush_log_at_trx_commit=0
事务提交时,不刷新缓存,系统刷新的频率是1s,故会丢失1s的数据。
innodb_flush_log_at_trx_commit=1
事务提交时,会刷新到磁盘,保证事务落盘,故不丢数据。
innodb_flush_log_at_trx_commit=2
事务提交时,刷新到os cache,系统没有crash,数据无丢失。
(3)DB正常,OS Crash
innodb_flush_log_at_trx_commit=0
事务提交时,不刷新缓存,系统刷新的频率是1s,故会丢失1s的数据。
innodb_flush_log_at_trx_commit=1
事务提交时,会刷新到磁盘,保证事务落盘,故不丢数据。