面试宝典系列-MySql主从复制原理
2018-08-14 11:04
676 查看
实现原理图大致如下(来源网络):
复制过程:
主服务器必须启用二进制日志,记录所有修改数据库的事件
主服务器创建一个I/O线程,从服务器创建一个I/O线程和一个SQL线程
从服务器上的I/O线程连接上主服务器,并告诉主服务器日志读取偏移位
主服务器I/O线程检查该值是否小于当前二进制日志偏移位
如果小于,则读取偏移位之后的数据给从服务器的I/O线程
从服务器I/O线程将读取到的数据依次写入到中继日志中,并记录当前偏移位(下次使用)
从服务器的SQL线程发现中继日志中新增了内容,则立即解析日志的新增内容,并依次执行。(从服务器和主服务器执行的都是相同的sql,保证了数据的一致性)
小结:
主从复制是异步的逻辑的SQL语句级的复制
复制时,主库有一个I/O线程,从库有两个线程,I/O和SQL线程
实现主从复制的必要条件是主库要开启记录binlog功能
作为复制的所有Mysql节点的server-id都不能相同
binlog文件只记录对数据库有更改的SQL语句(来自主库内容的变更),不记录任何查询(select,show)语句
复制过程:
主服务器必须启用二进制日志,记录所有修改数据库的事件
主服务器创建一个I/O线程,从服务器创建一个I/O线程和一个SQL线程
从服务器上的I/O线程连接上主服务器,并告诉主服务器日志读取偏移位
主服务器I/O线程检查该值是否小于当前二进制日志偏移位
如果小于,则读取偏移位之后的数据给从服务器的I/O线程
从服务器I/O线程将读取到的数据依次写入到中继日志中,并记录当前偏移位(下次使用)
从服务器的SQL线程发现中继日志中新增了内容,则立即解析日志的新增内容,并依次执行。(从服务器和主服务器执行的都是相同的sql,保证了数据的一致性)
小结:
主从复制是异步的逻辑的SQL语句级的复制
复制时,主库有一个I/O线程,从库有两个线程,I/O和SQL线程
实现主从复制的必要条件是主库要开启记录binlog功能
作为复制的所有Mysql节点的server-id都不能相同
binlog文件只记录对数据库有更改的SQL语句(来自主库内容的变更),不记录任何查询(select,show)语句
相关文章推荐
- 「mysql优化专题」主从复制面试宝典!面试官都没你懂得多!(11)
- lamp系列-MySQL主从复制原理视频(老男孩出品)
- MySQL系列之E-1------MySQL主从复制原理
- 面试宝典系列-读《深入学习Redis(3):主从复制》概要
- MySQL系列连载之主从复制原理
- MySQL主从复制原理
- Mysql之主从复制原理
- mysql主从复制原理
- mysql 主从的复制的原理及操作步骤
- MYSQL主从复制原理以及架构
- mysql 主从复制原理
- MySQL - 主从复制及读写分离原理
- MySQL主从复制原理实践
- MySQL主从复制原理、半同步操作步骤及原理
- Mysql主从复制原理过程
- mysql的主从复制原理
- Mysql之主从复制原理
- MySQL主从复制的常见拓扑、原理分析以及如何提高主从复制的效率总结
- Mysql的主从复制原理及配置(一)
- Mysql主从复制原理及配置