mysql的io和sql两个线程作用 |
您所在的位置:网站首页 › mysql主从复制的作用 › mysql的io和sql两个线程作用 |
mysql复制原理/基于库的多线程复制原理/基于BLGC的多线程复制原理 单线程主从复制: 从库向主库请求binlog,并将binlog转存到自己的relaylog中,从库重做binlog里面的sql, 主要由以下三个线程完成. dump thread: 在主库上,发送binlog io thread: 在slave上,接收,转存,请求binlog sql thread :在slave 上,重做binlog 基于库的多线程复制原理: 从库向主库请求binlog,并将binlog转存到自己的relaylog中,从库重做binlog里面的sql, 主要由以下三个线程完成. dump thread: 在主库上,发送binlog io thread: 在slave上,接收,转存,请求binlog sql thread :在slave 上,读取binlog,并分配binlog给work thread (分配原则,判断并行执行的事务是否拥有相同的数据库) work thread:执行binlog ,可以有多个 多线程复制 mysql5.7 基于BLGC的多线程复制原理,同时处于prepare阶段的事务不会有冲突。 在mysql5.7 的binlog中新增了两个字段来来标注哪些事务可以并行执行,和binlog的写入顺序 last_committed:事务提交编号,同一组内的事务,编号相同,可以并行执行。 sequence_number:binglog写入顺序,用户确保master的binlog顺序和slave的binlog顺序的一致。 多线程复制中的一些问题 1.binlog以组为顺序并发重做,如果上一组binlog中有某个sql执行失败,整组sql是否回滚,slave复制是否暂停? 如果一组中的某 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |