问题
应客户需求在给mysql实例进行升级之后,(从8.0.2X升级到8.0.3X),发现不能备份成功,查看日志发现是xtrabackup备份时找不到事务日志ib_logfile0。
经过查看,发现data目录下面确实没有这个文件,导致备份失败。
解决
事务日志对于mysql是必要的,它可以保证mysql故障恢复和write-ahead-log特性,尤其是mysql8.0只支持InnoDB存储引擎。所以xtrabackup在备份的时候找不到事务日志就会失败,这个没法忽略掉。
mysql8.0.30开始,对事务日志做了新特性,如下:文章来源:https://www.toymoban.com/news/detail-487488.html
- 在MySQL 8.0.30中,innodb_redo_log_capacity系统变量控制重做日志文件占用的磁盘空间量。
可以在启动或运行时使用set GLOBAL语句在选项文件中设置此变量;定义innodb_redo_log_capacity设置时,将忽略innodb log_files_in_group和innodb log_file_size设置, - 重做日志文件使用#ib_redoN命名约定,其中N是重做日志的文件号。备用重做日志文件由_tmp后缀表示。日志目录在./data/#innodb_ redo下面。舍弃原来的./data/ib_logfileN的形式
有了以上连个新特性,原来的xtrabackup就不适用了。需要将xtrabackup升级到mysql对应的版本。
在这里说一下,xtrabackup是跟着mysql的版本号走得,所以每次修改mysql版本的时候,都需要更新对应的xtrabackup版本,避免一些意料之外的问题。文章来源地址https://www.toymoban.com/news/detail-487488.html
到了这里,关于mysql8.0.30一些新增特性和xtrabackup的对应的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!