近期去面试,被问到对于MySQL主从复制模式的原理,回答不甚理想,因此留下此贴进行记录。
-
原理概述
- Master服务器将数据变更的记录写入二进制binlog日志中;
- Slave服务器定期对Master服务器的binlog日志进行探测,若发现改变,则创建一个I/O线程请求Master二进制事件,并写入relay log中;
- Slave服务器创建一个SQL线程,从relay log中读取内容,从Exec_Master_Log_Pos位置开始执行读取到的数据库更新事件,并将更新内容写入到数据库中。
-
主从流程图
本文参考如下: