数据库的数据一致

数据库主备一致

在这里插入图片描述

  • 都是用binlog来保证数据库主备一致的
流程
  • 备库b通过change master命令,设置主库的ip host,用户名,密码,偏移量等,
  • 备库b执行start slave命令,备库开启两个线程,io-thread和sql-thread,io负责连接
  • 主库a验证用户名,密码之后,去binlog以偏移量为起点开始读,发给b
  • 备库b那个binlog之后,写到本地文件,为relay log(中转日志)
  • 备库的sql-thread开始读relay-log,解析执行
binlog的三个格式区别
  • row:记录每条sql执行影响的数据
  • statement:记录每条执行的sql(备份或者回退都有语义问题和上下文问题)
    mysql> show binlog events in ‘master.000001’;//查看记录
  • mixed:mysql自己区别语义是否用row还是statement,
    可以使用mysqlbinlog工具来查看binlog的内容

循环复制

主备切换流程(双主模式)

在这里插入图片描述

  • 两个库有自己独有的server id,和另外一个库不相同
  • 库a同步数据到库b,binlog里面带有a的server id
  • 库b读到server id,判断是否和自己的server id一样,不一样则同步,然后再同步给库a
  • 库a读到server id,和自己一样,不写,循环结束
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值