推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

mysql的三种日志模式 Mysql实时备份实现方法?

   2023-05-06 企业服务招财猫100
核心提示:Mysql实时备份实现方法?数据备份是数据容灾的最后一道防线。即使是两地三中心的架构,备份依然重要。如果备份出现问题,备份过程中交易业务会受到影响,备份数据无法恢复,这也是企业无法承受的。因此,选择合

Mysql实时备份实现方法?

数据备份是数据容灾的最后一道防线。即使是两地三中心的架构,备份依然重要。如果备份出现问题,备份过程中交易业务会受到影响,备份数据无法恢复,这也是企业无法承受的。因此,选择合适的备份工具尤为重要。

每个企业数据库都有自己的备份工具。MEB(MySQL企业备份)是MySQL企业版中最重要的工具之一,是面向企业客户的数据备份方案。

Xtrabackup一直作为MEB的开源备胎存在,从MySQL8.0开始情况可能会有所不同。

由于MySQL8.0的新功能,如备份锁、重做日志归档和页面跟踪,MEB备份/恢复体验将会更好。目前xtrabackup还不支持这些功能。

MySQL企业版还有哪些功能?

功能1:备份锁

在8.0之前,xtrabackup或MEB用于物理备份。为了确保备份期间InnoDB引擎表与其他引擎数据文件和binlog日志的一致性,我们设置了一个全局读锁,然后复制非InnoDB文件。在此期间,MySQL将变为只读,数据无法写入。桌子越多,花费的时间就越长。如果在没有rsync参数的情况下使用xtrabackup,frm文件会被一个一个的复制,加锁时间会更长,对业务影响很大。

我曾经遇到过在一个虚拟机中部署超过12,000个表的情况。当时用的是xtrabackup,备份脚本被锁了十几分钟,但是MEB没有这样的问题。

MySQL8.0支持轻量级备份锁lock实例进行备份,数据字典由InnoDB重构存储。如果没有创建非InnoDB表,MEB会默认使用备份锁获取binlog日志的一致性位置,阻止DDL操作,但不会影响DML操作。

只有InnoDB表,只有备份锁。

如果有一个非InnoDB表,请将其全局锁定。

功能2:重做日志归档

MEB可以做在线热备,备份时不影响数据库读写。这样使用InnoDB事务日志在备份过程中持续监控重做日志的变化,读取增量变化,写入ibbackup_logfile,这样就不需要锁定,保证备份的一致性。(非InnoDB文件需要读锁定副本)

如果备份时数据库写负载特别重,而ibbackup_logfile写速度慢,重做日志大小不大,就很有可能出现。ibbackup_logfilecan跟不上重做日志记录的生成速度。如果重做日志空间不足,则需要覆盖日志文件,因此可以t写入ibbackup_logfile将丢失,这将导致备份失败。

MEB4.1对此进行了优化,将重做日志的处理线程拆分成多线程进行协作,提高了处理重做日志的效率,降低了重做日志覆盖导致备份失败的概率。但是添加重做日志的速度和ibbackup_logfile的写入速度差距太大,问题还是会出现。

MySQL8.0.17支持重做日志归档,彻底解决了这个问题。备份前,设置innodb_redo_log_archive_dirs,并指定重做日志归档目录。备份MEB时,会自动启动日志归档,检查点时会将旧记录归档到该目录,然后从归档文件中读取重做日志记录,从而避免可能因覆盖而导致的重做记录丢失。

注意:innodb_redo_log_archive_dirs不能在数据目录中,目录权限要求是700。

功能3:页面跟踪

页面跟踪是为了优化增量备份的效率,减少不必要的数据页面扫描。

增量备份目前有三种扫描模式:

Page-track:使用LSN来精确地跟踪自上次备份以来修改过的页面,并且只复制这些页面,这是最快的。

Optimal:扫描自上次备份以来修改过的InnoDB数据文件,找出并复制修改过的页面。根据系统时间的不同,使用时会有一些限制。

全扫描:扫描所有InnoDB数据文件,找出并复制自上次备份以来修改过的页面是最慢的。

1.使用页面跟踪增量备份,您需要首先安装备份组件。

2.在完全准备好之前打开页面跟踪。

3.完全备份后,进行增量备份时,指定如果满足页面跟踪条件,则默认使用page-track模式,否则使用全扫描模式,也可以指定-incrementalpage-track。

增量基础有三个选项。

Last_backup:在之前备份的基础上,之前的备份可以是附加备份,也可以是完全备份。这样所有的备份之间可能会有多次添加,每次的增量可能都比较小,但是恢复的时候需要一次一次的合并。

Last_full_backup:基于之前的完整备份,添加的。这样以后备份会更大,但恢复时只需要合并最后一次增量备份。

Dir:基于以前的备份目录。之前的备份可以是附加备份,也可以是完整备份。

与全扫描和页跟踪相比,当改变的页数小于总页数的50%时,备份效率至少可以提高一倍。

Page-track模式磁盘读写平衡,表示读写都是修改页面。

全扫描模式磁盘读写差别很大,表示读取了很多未修改的页面。

mysql是用什么实现的主从复制,如何解决的读写分离mycat?

改变我的从日志模式切换到调试模式。执行sql后,通过查看日志中被执行节点的ip,就知道是不是自己设置的读节点。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8