634 字
3 分钟
什么是MySQL的主从同步机制
MySQL的主从同步机制是一种数据复制技术,用于将住数据库上的数据同步到一个或者多个从数据库中。
主要是通过二进制日志 binlog 实现数据的复制。
主数据库在执行写操作的时候,会把这些操作记录在binlog里面,然后推送给从数据库,从数据库重放对应的日志即可完成复制。
70%
全部章节
- 1 MySQL共享锁和排他锁的区别
- 2 数据库ACID四大特性
- 3 MVCC-多版本并发控制
- 4 MySQL全局锁,表级锁,行级锁
- 5 MySQLbinlog,redolog和undolog
- 6 MySQL索引类型有哪些
- 7 MySQL-VARCHAR支持的最大长度
- 8 MySQL事务隔离级别
- 9 MySQL中的数据排序是怎么实现的
- 10 MySQL中几种count的区别
- 11 MySQL中CHAR和VARCHAR的区别
- 12 MySQL事务的两阶段提交是什么
- 13 MySQL中发生死锁如何解决
- 14 搭建MySQL主从服务器
- 15 如何处理MySQL的主从同步延迟
- 16 什么是MySQL的主从同步机制 阅读中
- 17 MySQL中如何解决深度分页问题
- 18 分库分表场景
- 19 MySQL联合索引失效情况
- 20 MySQL-binlog
- 21 MySQL-redolog
- 22 MySQL-relaylog(中继日志)
- 23 MySQL-undolog(回滚日志)
什么是MySQL的主从同步机制
MySQL的主从同步机制是一种数据复制技术,用于将住数据库上的数据同步到一个或者多个从数据库中。 主要是通过二进制日志 binlog 实现数据的复制。 主数据库在执行写操作的时候,会把这些操作记录在binlog里面,然后推送给从数据库,从数据库重放对应的日志即可完成复制。
MySQL主从复制类型
MySQL支持异步复制,同步复制,半同步复制
异步复制: 主库不需要等待从库的响应(性能高,一致性低) 同步复制: 主库同步等待所有从库确认收到的数据(性能差,一致性高) 半同步复制: 主库等待至少一个从库确认收到数据(性能折中,数据一致性比较高)
异步复制

MySQL默认是异步复制。
主从复制流程
- 线程创建,从服务器创建一个IO线程,一个SQL线程,IO线程负责读取主服务器上的binlog,并写入到本地relay log中,SQL线程负责读取relay log中的日志,并执行到从服务器上
- 连接建立: 从服务器的IO线程与主服务器建立连接,主服务器的binlog dump线程和从服务器的IO线程进行交互
- 从服务器的IO线程告诉主服务器开始日志传送的对应位置
- 主服务器更新的时候把记录保存到binlog中
- 主服务器dump线程检测到binlog变化,从指定位置开始读取,从服务器进行拉取。
- 中继日志存储: 从服务器的IO线程把接收到的内容保存到relay log中
- 数据写入: 从服务器的SQL线程读取relay log中的内容,进行数据写入。
主从复制延迟
主从复制延迟是指主服务器和从服务器之间数据同步的时间差。 主从复制延迟的原因有很多,例如网络延迟,主服务器和从服务器之间的硬件差异,主服务器和从服务器之间的操作系统差异,主服务器和从服务器之间的MySQL版本差异,主服务器和从服务器之间的MySQL配置差异等。
解决方法: 优化网络 提高从服务器性能 利用MySQL并行复制功能提升效率,减少延迟。https://blog.csdn.net/weixin_42587823/article/details/144842206
发现错误或想要改进这篇文章?
在 GitHub 上编辑此页 什么是MySQL的主从同步机制
相关文章
按系列 / 标签 / 分类推荐