百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

新特性速递 | InnoDB redo log archiving(归档)

bigegpt 2024-08-12 14:11 6 浏览

?

导读

MySQL 8.0.17开始支持的redo log归档能干嘛用呢,好吃吗

今天,MySQL 8.0.17发布了,看了下release note,发现果真如之前预期的那样,恢复了redo log归档(redo log archiving)功能。之所以说是“恢复”,那是因为在InnoDB非常古老的版本(MySQL 4.0.6之前的版本)才存在,之后就取消了,当时还支持redo log mirror,老一点的MySQL DBA可能都还有印象,不过这两个功能当时没什么卵用,所以取消了。

此次,InnoDB重启redo log归档功能,按照开发团队的说法,主要是为了解决备份一致性的问题。文档里是这么写的:

Backup utilities that copy redo log records may sometimes fail to keep pace
with redo log generation while a backup operation is in progress, resulting
in lost redo log records due to those records being overwritten. The redo
log archiving feature addresses this issue by sequentially writing redo log
records to an archive file. Backup utilities can copy redo log records from
the archive file as necessary, thereby avoiding the potential loss of data.

简言之,就是备份速度跟不上redo log生成的速度,结果导致redo log被覆盖了,然后备份就无法保证一致性。有了redo log归档,就可以在备份启动时同步启动redo log归档,备份结束时同步停止redo log归档,这样就可以避免这个问题了,备份结束后可以利用这期间生成的redo log进行数据恢复。

想要启用redo log归档功能,只需设置innodb_redo_log_archive_dirs选项即可,该选项可支持在线动态修改,例如:

[root@yejr.me]> SET GLOBAL innodb_redo_log_archive_dirs = "redolog-archiving-for-backup:/data/mysql8-redologs/";

指定 /data/mysql8-redologs/ 目录作为redo log归档存放路径,并且指定label为 "redolog-archiving-for-backup",也就是这是专用于备份的redo log归档存放目录。

我们还可以指定另一个目录用于未来基于redo log的物理复制用途(我瞎猜的,可能没那么快实现)。

[root@yejr.me]> SET GLOBAL innodb_redo_log_archive_dirs = "redolog-archiving-for-backup:/data/mysql8-redologs1/;redolog-archiving-for-repl:/data/mysql8-redologs2";

选项innodb_redo_log_archive_dirs可以指定多个目录作为归档redo log存放位置。不过这个选项有几个限制:

  • 该目录必须事先创建好
  • 该目录其他用户不可访问,最好设置成 0700 权限模式
  • 该目录不能是datadir、innodb_data_home_dir、innodb_directories、innodb_log_group_home_dir、innodb_temp_tablespaces_dir、innodb_tmpdir、innodb_undo_directory、secure_file_priv这些目录的父目录或子目录。简言之,归档目录不要和mysqld的运行目录有任何重合

设置完后,就可以开始进行redo log归档了。

[root@yejr.me]> DO innodb_redo_log_archive_start("redolog-archiving-for-backup","20190722");
Query OK, 0 rows affected (0.02 sec)

第一个参数是我们之前定义过的一个label,第二个参数是该label对应目录下的子目录,也就是 "/data/mysql8-redologs/20190722"。我们在相应目录下就可以看到这样的redo log归档文件了:

[root@yejr.me]> ls -l /data/mysql8-redologs/20190722
-r--r-----. 1 mysql mysql 0 Jul 22 20:54 archive.f0ff5743-97be-11e9-a5d6-0050568bba82.000001.log

文件名中常常的那串字符,就是本实例的UUID。此时文件的大小是0字节。

我们在另一个session发动一个sysbench oltp测试。执行完sysbench测试结束后,我们停止redo log归档工作:

[root@yejr.me]> DO innodb_redo_log_archive_stop();
Query OK, 0 rows affected (0.00 sec)

我分别记录了测试前后redo log LSN的变化如下:

# 测试前的LSN
LOG
---
Log sequence number 27938813989
...
# 测试后的LSN
LOG
---
Log sequence number 27945024531

两次LSN的差值是:6210542 字节。

然后我们查看redo log归档文件大小是多少:

[root@yejr.me]> ls -l /data/mysql8-redologs/20190722
-r--r-----. 1 mysql mysql 6213632 Jul 22 21:19 archive.f0ff5743-97be-11e9-a5d6-0050568bba82.000001.log

可以看到文件大小是 6213632 字节,和上面的 6210542 字节只相差了 3090 字节,和本次测试产生的redo log日志大小相当。后面我们就可以利用这个redo log做数据恢复之用了(不过,相应的官方工具还没开发出来,拭目以待吧)。

一般情况下,redo log归档对性能的影响比较小(顺序写入),在大量高并发事务的场景下,可能对性能影响会稍大点,不过也不用太担心,以后有机会我再做个性能对比测试吧。

发车前,月月提醒我,MySQL企业版的备份工具已经提前支持redo归档了,希望Percona Xtrabackup也能尽快支持哈。

最后,再多说一句。大家也能注意到,MySQL 8.0版本之后,和ORACLE是越来越像了。有ORACLE这个最成功的商业数据库大哥在前面,我们完全有理由不用担心MySQL的未来。

Enjoy MySQL 8.0 :)

延伸阅读

  • MySQL 8.0 Reference Manual,Redo Log Archiving
  • 重磅:MySQL8.0.17将新增redo log归档特性
  • Changes in MySQL 8.0.17 (2019-07-22, General Availability)
  • 最后,欢迎扫码订阅《乱弹MySQL》专栏,快人一步获取我最新的MySQL技术分享

相关推荐

有些人能留在你的心里,但不能留在你生活里。

有时候,你必须要明白,有些人能留在你的心里,但不能留在你生活里。Sometimes,youhavetorealize,Somepeoplecanstayinyourheart,...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

软网推荐:图像变变变 一“软”见分晓

当我们仅需要改变一些图片的分辨率、裁减尺寸、添加水印、标注文本、更改图片颜色,或将一种图片转换为另一种格式时,总比较讨厌使用一些大型的图像处理软件,尤其是当尚未安装此类软件时,更是如此。实际上,只需一...

首款WP8.1图片搜索应用,搜照片得资料

首款WP8.1图片搜索应用,搜照片得资料出处:IT之家原创(天际)2014-11-1114:32:15评论WP之家报道,《反向图片搜索》(ReverseImageSearch)是Window...

分享一组美图(图片来自头条)(头条美女头像)

...

盗墓笔记电视剧精美海报 盗墓笔记电视剧全集高清种子下载

出身“老九门”世家的吴邪,因身为考古学家的父母在某次保护国家文物行动时被国外盗墓团伙杀害,吴家为保护吴邪安全将他送去德国读书,因而吴邪对“考古”事业有着与生俱来的兴趣。在一次护宝过程中他偶然获得一张...

微软调整Win11 24H2装机策略:6月起36款预装应用改为完整版

IT之家7月16日消息,微软公司今天(7月16日)发布公告,表示自今年6月更新开始,已默认更新Windows1124H2和WindowsServer2025系统中预装...

谷歌手把手教你成为谣言终结者 | 域外

刺猬公社出品,必属原创,严禁转载。合作事宜,请联系微信号:yunlugongby贾宸琰编译、整理11月23日,由谷歌新闻实验室(GoogleNewsLab)联合Bellingcat、DigD...

NAS 部署网盘资源搜索神器:全网资源一键搜,免费看剧听歌超爽!

还在为找不到想看的电影、电视剧、音乐而烦恼?还在各个网盘之间来回切换,浪费大量时间?今天就教你如何在NAS上部署aipan-netdisk-search,一款强大的网盘资源搜索神器,让你全网资源...

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

前言回顾在上一篇文章《搭建持久化的INFINIConsole与Easysearch容器环境》中,我们详细介绍了如何使用基础的dockerrun命令,手动启动和配置INFINICon...

为庆祝杜特尔特到访,这个国家宣布全国放假?

(观察者网讯)近日,一篇流传甚广的脸书推文称,为庆祝杜特尔特去年访问印度,印度宣布全国放假,并举办了街头集会以示欢迎。菲媒对此做出澄清,这则消息其实是“假新闻”。据《菲律宾世界日报》2日报道,该贴子...

一课译词:毛骨悚然(毛骨悚然的意思是?)

PhotobyMoosePhotosfromPexels“毛骨悚然”,汉语成语,意思是毛发竖起,脊梁骨发冷;形容恐惧惊骇的样子(withone'shairstandingonend...

Bing Overtakes Google in China's PC Search Market, Fueled by AI and Microsoft Ecosystem

ScreenshotofBingChinahomepageTMTPOST--Inastunningturnintheglobalsearchenginerace,Mic...

找图不求人!6个以图搜图的识图网站推荐

【本文由小黑盒作者@crystalz于03月08日发布,转载请标明出处!】前言以图搜图,专业说法叫“反向图片搜索引擎”,是专门用来搜索相似图片、原始图片或图片来源的方法。常用来寻找现有图片的原始发布出...

浏览器功能和“油管”有什么关联?为什么要下载

现在有没有一款插件可以实现全部的功能,同时占用又小呢,主题主要是网站的一个外观,而且插件则主要是实现wordpress网站的一些功能,它不仅仅可以定制网站的外观,还可以实现很多插件的功能,搭载chro...