首页 / MYSQL / 部署MySQL延迟从库的好处小结
部署MySQL延迟从库的好处小结
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了部署MySQL延迟从库的好处小结,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2404字,纯文字阅读大概需要4分钟。
内容图文
![部署MySQL延迟从库的好处小结](/upload/InfoBanner/zyjiaocheng/586/e29dbffa18014153bea0bb4997717cdc.jpg)
前言
MySQL的主从复制(replication)关系,不太严谨的叫法是“同步”或者“主从同步”。实际上在早期,MySQL的主从并不能实现真正的“同步”(sync),而是“异步”的(async)。
MySQL主从复制它可以有多种模式,最经典的也是最早出现的异步复制(async replication),从5.5版本开始有了半同步复制(semi-sync replication),到了5.7又有了增强半同步。本文要讨论的延迟从库,也是在5.6之后才有的功能,在这之前需要用percona pt-slave-delay 工具来变相实现。
另外,从5.6版本开始增加了并行复制,不过这时还是基于schema的并行模式(slave-parallel-type=DATABASE),效率非常差,意义不大。到了5.7,才实现了真正的并行复制(slave-parallel-type=LOGICAL_CLOCK),复制效率提升很多;还有新增了多源复制,很方便的就能实现多主一从的架构。
了解完MySQL复制的简史,我们切入主题。
MySQL延迟从库的好处主要有几点:
1、误删除时,能更快恢复数据。
有时候手抖了,把线上数据给误删除了,或者误删除库、表、其他对象,或不加WHERE条件的更新、删除,都可以让延迟从库在误操作前的时间点停下,然后进行恢复。
2、把延迟从库作为专用的备份节点。虽然有一定的延迟,但并不影响利用该节点作为备份角色,也不影响生产节点数据库库。
3、还可以把延迟从库当做一些问题、案例研究的对象。个别时候,可能有些binlog event在普通从库上会有问题(例如早期版本中无主键会导致从库更新非常慢的经典问题),这时就有时间在延迟从库上慢慢琢磨研究了。
启用延迟从库的方法也挺简单的,下面是在MySQL 8.0的做法:
#直接用 CHANGE MASTER TO 设置,后面的N单位是秒数 CHANGE MASTER TO MASTER_DELAY = N
当发生误操作需要让延迟从库在某个位置上停下来时,用下面的命令:
START SLAVE UNTIL { #1、直到指定的GTID位置停下 {SQL_BEFORE_GTIDS | SQL_AFTER_GTIDS} = gtid_set #2、直到指定的binlog位置停下 | MASTER_LOG_FILE = ‘log_name', MASTER_LOG_POS = log_pos #3、直到指定的relay log位置停下 | RELAY_LOG_FILE = ‘log_name', RELAY_LOG_POS = log_pos #4、直到slave上多个并行线程之前没有延迟差距了就停下 #因为多线程复制,不同线程的复制进度不一样,因此有差距 | SQL_AFTER_MTS_GAPS }
P.S,从5.7起,修改 MASTER_DELAY 选项可以在线立即生效,而无需重启 slave 线程。
至于具体 MASTER_DELAY 设置多少合适,要估算如果发生误操作时,DBA平均能到现场的时间,一般建议1小时左右。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
- MySQL中从库延迟状况排查的一则案例
- MYSQL主从不同步延迟原理分析及解决方案
- 减少mysql主从数据同步延迟问题的详解
- 解决MySQL中的Slave延迟问题的基本教程
- mysql同步问题之Slave延迟很大优化方法
- MySQL延迟关联性能优化方法
- mySQL 延迟 查询主表
- 深入mysql主从复制延迟问题的详解
内容总结
以上是互联网集市为您收集整理的部署MySQL延迟从库的好处小结全部内容,希望文章能够帮你解决部署MySQL延迟从库的好处小结所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。