扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
MySQL复制:为保证主服务器和从服务器的数据一致性,在向主服务器插入数据后,从服务器会自动将主服务器中修改的数据同步过来。
主从复制的原理:
主从复制主要有三个线程:binlog线程,I/O线程,SQL线程。
- binlog线程:负责将主服务器上的数据更改写入到二进制日志(Binary log)中。
- I/O线程:负责从主服务器上读取二进制日志(Binary log),并写入从服务器的中继日志(Relay log)中。
- SQL线程:负责读取中继日志,解析出主服务器中已经执行的数据更改并在从服务器中重放
复制过程如下(图片来源于网络):
- Master在每个事务更新数据完成之前,将操作记录写入到binlog中。
- Slave从库连接Master主库,并且Master有多少个Slave就会创建多少个binlog dump线程。当Master节点的binlog发生变化时,binlog dump会通知所有的Slave,并将相应的binlog发送给Slave。
- I/O线程接收到binlog内容后,将其写入到中继日志(Relay log)中。
- SQL线程读取中继日志,并在从服务器中重放。
这里补充一个通俗易懂的图。
主从复制的作用:
- 高可用和故障转移
- 负载均衡
- 数据备份
- 升级测试
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版