xtrabackup: error: last checkpoint LSN (3409281307) is larger than last copied LSN (3409274368). #2(

Posted 西橙

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xtrabackup: error: last checkpoint LSN (3409281307) is larger than last copied LSN (3409274368). #2(相关的知识,希望对你有一定的参考价值。

1.错误发生场景:使用2.4.1版本的xtrabackup工具进行全备,备份日志中报出此错误
2.知识要点:
mysql中,redo 日志写进程会在三种条件下被触发从log buffer中写日志到redo log file中,分别是每隔一秒、日志达到log buffer的1/3、每一次提交的时候。刷新日志的LSN到log file是采用轮询的方式进行的,比如有三组日志当这三组都被写满的时候再重新覆盖第一组的日志,以此类推。同时checkpoints检查点会刷新在log file被覆盖前刷新buffer [pool中已提交事物对应的脏页到磁盘。
checkpoints的工作机制:
      [http://dev.mysql.com/doc/refman/5.7/en/innodb-checkpoints.html](url)
回归到备份,xtrabackup会在备份开始的时候就开始复制 redo log file,即复制每一次系统变更的LSN,此错误显然是由于xtrabackup开启的redo log file空间不足所引起的,也就是说当系统中的redo log file被覆盖的时候,xtrabackup还没有将被覆盖前的LSN复制到本地。
xtrabackup的工作机制:
      [https://www.percona.com/doc/percona-xtrabackup/2.4/how_xtrabackup_works.html](url)
3.错误回顾
*查看备份集中xtrabackup应用的配置
[[email protected]]# cat 2016-07-22_10-36-02/backup-my.cnf
# This MySQL options file was generated by innobackupex.
# The MySQL server

[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=strict_crc32
innodb_data_file_path=ibdata1:512M:autoextend
innodb_log_files_in_group=2

可以看到是innodb_log_files_in_group为2组,但是mysql server配置文件中的[mysqld选项下]指定的是3组,而且是通过选defaults-file选项来指定线上库的配置文件来进行备份的。备份命令:
       innobackupex /data/backup --defaults-file=/etc/mysql/8888.cnf
*查看官方文档,上面明文规定要将--defaults-file选项放到第一位,再次尝试备份,备份命令:
       innobackupex  --defaults-file=/etc/mysql/8888.cnf  /data/backup
[[email protected]]# cat 2016-07-22_10-36-30/backup-my.cnf
# This MySQL options file was generated by innobackupex.
# The MySQL server

[mysqld]
innodb_checksum_algorithm=innodb
innodb_log_checksum_algorithm=strict_crc32
innodb_data_file_path=ibdata1:512M:autoextend
innodb_log_files_in_group=3

开始识别配置文件
到目前为止可以判定是参数位置放置不当引起的。
4.测试总结
[[email protected]]# innobackupex --version
innobackupex version 2.4.3 Linux (x86_64) (revision id: 6a46905)
[[email protected]]# innobackupex /data/backup --defaults-file=/etc/mysql/3306.cnf
xtrabackup: Error: unknown argument: ‘/data0/backup‘

2.4.3版本中,如果--defaults-file没有放在第一个位置则会报错,而2.4.1中如果放不对位置则没有错误提示,但是也不识别制定的配置文件,依然使用默认配置。

以上是关于xtrabackup: error: last checkpoint LSN (3409281307) is larger than last copied LSN (3409274368). #2(的主要内容,如果未能解决你的问题,请参考以下文章

xtrabackup备份失败(error writing file 'UNOPENED')

xtrabackup备份MySQL报错:InnoDB: Error number 24 means 'Too many open files'

安装和测试xtrabackup8.0

用XtraBackup备份时报错又一个错误,这是啥原因

PHP函数:json_last_error

json数据转换失败json_last_error int