MySQL是怎么保证主备一致的

  1.mysql 主备的基本原理。
  2.主备库之间维持一个长连接。
  3.binlog的三种格式对比。
    binlog_format ==
      1.statement
      存在sql原文,指定表名,出现删除索引不一致,造成主备不一致,可能是unsafe
      2.row
        2.1 Table_map event 说明要操作的表
        2.2 Delete_rows event 用于定义要删除的行为
        记录删除的具体行数,不会出现主备删除不一致
        但是占用大量空间,消费IO资源,影响执行速度。
      3.mixed
        mysql 自动判断是否会引起主备不一致,如果是,采用row,如果不会,采用statement.
 
    row格式的好处:恢复数据。
        statement 也会记录关于日期的数据 SET TIMESTAMP
  4.循环复制问题
    双M结构 ,会生成service id 如果拿到是自己的service id 会把数据丢弃
posted @ 2021-08-05 20:55  a菜搬砖  阅读(77)  评论(0)    收藏  举报