【MySQL】xtrabackup 2.4.12备份触发的bug

一、背景与现象:

 去生产库导一个流量比较大的库准备做从库,结果出现一个报错(xtrabackup版本:2.4.12,mysql版本5.7.23):


二、处理过程

1)第一反应,这bug应该大家都出现了,去谷歌一下,结果啥也没找到

2)好吧,看来只能自己亲自动手,既然这里是failing assertion:dir,则应该路径没找到,看报错应该跟undo有关

于是找来配置文件(其实这里单独的undo我都没开启):


于是就把这inndb_undo_directory注释掉了,然后继续,结果还是报错

没办法,只好找来5.7.23的源代码,定位到上面报错的srv0start.cc的928行


看到这恍然大悟,线上环境没有单独的表空间目录(而这里要遍历undo独立表空间),于是临时mkdir /data3/mysql/3307/undo;chown mysql:mysql  /data3/mysql/3307/undo解决


请使用浏览器的分享功能分享到微信等