MySQL复制的概念
MySQL从3.23版本开始提供复制的功能。复制是指将主数据库的DDL和DML操作通过二进制日志传到从服务器上,然后在从库上对这些日志重新执行(也叫重做),从而使得从库和主库的数据保持同步。
MySQL支持一台主库同时向多台从库进行复制,从库同时也可以作为其他服务器的主库,实现链状的复制。
MySQL复制的优点主要包括以下3个方面:
注意:由于MySQL实现的是异步复制,所以在主从库之间存在一定的差距,在从库上进行的查询操作需要考虑到这些数据的差异,一般只有更新不频繁的数据或者对实时性要求不高的数据可以通过从库查询,实时性要求较高的数据仍然需要从主库中获得。
MySQL复制的原理
MySQL复制的原理大致如下:
MySQL复制流程 可以通过SHOW PROCESSLIST命令在主库上查看Binlog Dump线程,从Binlog Dump线程的状态可以看到,MySQL的复制是主库主动推送日志到从库去的。 同样的,在从库上通过SHOW PROCESSLIST命令可以看到I/O线程和SQL线程,I/O线程等待主库的Binlog Dump线程发送事件并更新到中继日志Relay Log中,SQL线程读取Relay Log并应用变更到数据库。
同时也对应了MySQL复制的3种技术。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有