
MySQL进阶
文章平均质量分 87
MySQL45讲笔记
YuannaY
RETURN TRUE
展开
-
MySQL主备延迟的原因
为了设计一个高可用的系统, MySQL引入了主备切换的机制,在主库出现问题时可以快速切换到备库提供服务。但是为了维持主备库之间数据的一致性的同步机制,又带来了新的问题,主备延迟。主备延迟带来的后果是多方面的,比如会反过来影响数据的一致性和可用性,relaylog的积压等等问题。原创 2023-06-25 16:36:27 · 482 阅读 · 0 评论 -
MySQL 中Relay Log打满磁盘问题的排查方案
解决MySQL Relay Log打满磁盘的问题,可以通过检查复制延迟、中继日志大小、复制状态、二进制日志状态以及性能优化,保证数据库复制的顺利进行,并避免中继日志占满磁盘的情况发生。但是实际环境中的日志打满磁盘问题排查起来非常困难,主要是卡在找出引起回放线程出错的那条语句,很大可能是被purge了,最后的解决方案是不保留备库的数据,因为执行的是迁移任务,满足客户的需求为先。导致回放失败的原因就是在执行delete操作时出现了问题,怀疑是slave删除了记录,然后回放时,尝试删除不存在的记录导致失败。原创 2023-06-23 00:56:00 · 2035 阅读 · 0 评论 -
MySQL如何保证数据的可靠性(保证数据不丢失)
一次组提交里面,组员越多,节约磁盘 IOPS 的效果越好。在并发场景下,为了尽可能多的的在一次组提交内包含更多的组员,第一个事务在写完redo log buffer之后,接下来的fsync需要尽可能的晚调用。原创 2023-06-14 16:46:38 · 1388 阅读 · 0 评论 -
如何保证数据库分布式事务的强一致性
2. 参与者执行事务, 并将undo 和 redo 信息记录在事务日志中,但不commit, 资源已经被锁定。1. 协调者收到所有参与者的投票信息,所有参与者都返回Agreee,协调者向所有参与者发送commit消息。3. 参与者向协调者发送投票消息,Agree表示事务执行成功,Abort表示执行失败。2. 参与者收到 ‘commit’消息后,执行提交操作,并释放在第一阶段中申请的资源。4. 参与者收到“回滚”消息,执行回滚操作,并释放第一阶段中申请的所有资源。全局事务管理器,思想是将原本集中式数据库的。原创 2023-06-14 00:10:40 · 652 阅读 · 0 评论