mysql中binlog的底层原理分析

mysql中binlog的底层原理分析

    • mysql中的binlog

mysql中的binlog

1、功能:记录mysql的数据更新或者潜在更新(delete from table where id =x)
2、应用:mysql主从复制就是依靠binlog
3、开启:在my.config文件里开启即可
4、Master-slave分布式数据库模式
分布式数据库,更多的是做读写分析解耦操作,避免读写都在一个库里。而slave多节点更是分担了读取库的负担。
mysql中binlog的底层原理分析_第1张图片
5、binlog实现分布式数据库数据同步
mysql中binlog的底层原理分析_第2张图片

  1. Master事件通知Slave,读取binlog数据
  2. Slave的IO线程读取数据后,写入relaylog
  3. SQL线程从relaylog获取数据后在本库执行

如图,Master节点binlog文件:
在这里插入图片描述
6、binlog支持的数据格式:

  • statement :基于sql语句 。增删改操作以语句为单位记录变更。
  • row :基于行模式。update table set value =x; 1万条,则记录1万条变更的数据
  • mixed :混合模式:基于以上两种模式,自动适配。

你可能感兴趣的:(java面试)