文章 2021-12-31 来自:开发者社区

【阿里最新数据库面试题】MySQL主从一致性(上)

为什么备库执行了binlog就可以跟主库保持一致?MySQL主备的基本原理基本的主备切换流程上部分状态:客户端的读写都直接访问A,B是A的备库,只是将A的更新都同步过来,到本地执行。这样可以保持B和A的数据相同。当需要切换时,就切成下部分状态:客户端读写访问的都是B,A是B的备库。上部分状态,虽然节点B没有被直接访问,但推荐把B(备库)设成只读(readonly),考虑如下:有时候一些运营类的查....

【阿里最新数据库面试题】MySQL主从一致性(上)
文章 2021-12-31 来自:开发者社区

【阿里年薪百万数据库面试】MySQL会丢数据吗?(下)

日志逻辑序列号(log sequence number,LSN)LSN单调递增,对应redo log的写入点。比如写入length长度的redo log, 则LSN+length。LSN也会写到InnoDB的数据,以确保数据页不会被多次执行重复的redo log。如图3所示,是三个并发事务(trx1, trx2, trx3)在prepare 阶段,都写完redo log buffer,持久化到磁....

【阿里年薪百万数据库面试】MySQL会丢数据吗?(下)
文章 2021-12-31 来自:开发者社区

【阿里年薪百万数据库面试】MySQL会丢数据吗?(上)

在业务高峰期临时提升性能的方法。WAL机制保证只要redo log和binlog保证持久化到磁盘,就能确保MySQL异常重启后,数据可以恢复。binlog的写入机制事务执行过程中:先把日志写到binlog cache事务提交时,再把binlog cache写到binlog文件一个事务的binlog不该被拆开,不论事务多大,也要确保一次写入。这就涉及binlog cache的保存问题。系统给bin....

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。