Mariabackup 错误恢复增量(“此增量备份似乎不适合目标”)

Mariabackup 错误恢复增量(“此增量备份似乎不适合目标”)

我使用它mariabackup在之前创建的完整备份目录上创建增量备份。使用以下命令创建完整备份:

mariabackup --backup --target-dir=/var/mariadb/backup/

随后的增量备份创建如下:

mariabackup --backup --target-dir=/var/mariadb/inc1/ --incremental-basedir=/var/mariadb/backup/

现在,每次我尝试使用测试目的恢复备份时mariabackup --prepare --target-dir=/var/mariadb/backup && mariabackup --prepare --target-dir=/var/mariadb/backup --incremental-dir=/var/mariadb/inc1都会出现以下错误:

error: This incremental backup seems not to be proper for the target. Check 'to_lsn' of the target and 'from_lsn' of the incremental

确实,目标目录和增量备份目录to_lsn有所from_lsn不同。奇怪的是,前几个增量备份可以毫无问题地恢复,只有后续的增量备份会出现问题(具有不同的lsn编号)。

为什么lsn使用相同的基本目录时它们的编号会有所不同?有人遇到过同样的问题并能解决吗?有什么解决方案或提示吗?

提前致谢。

答案1

我看到你的语法中有两个我之前没有测试过的连接命令。

我执行的是这个,并且在恢复(--copy-back)过程中没有问题:

mariabackup --prepare --target-dir=/path/to_full \
--incremental-dir=/path/to_incremental

然后进行恢复:

sudo systemctl stop mariadb
sudo rm -rf /var/lib/mysql
mariabackup --copy-back --target-dir=/path/to_full
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod 755 /var/lib/mysql
sudo systemctl start mariadb

希望这可以帮助。

鲍里斯

答案2

这里有几件事...

如果你不增加目标,即;,,,inc1... ,并且始终用作增量目录,那么它需要inc2inc3inc1空的重新使用之前。文档指出该目录应为空或不存在。

您正在重新准备您的基地。以下完整备份准备应仅运行一次

$ mariabackup --prepare --target-dir=/var/mariadb/backup

然后,您将依次准备每个后续增量备份:

  • inc1

    $ mariabackup --prepare --target-dir=/var/mariadb/backup \
    --incremental-dir=/var/mariadb/inc1
    
  • inc2

    $ mariabackup --prepare --target-dir=/var/mariadb/backup \
    --incremental-dir=/var/mariadb/inc2
    
  • inc3inc4...

另外,你还没有提到版本您正在使用的 mariaDB(请查看:)mysqld --version。根据文档这里mariaDB 10.1并且您的基本备份准备命令下面应该包含以下--apply-log-only选项:

$ mariabackup --prepare --apply-log-only \
   --target-dir=/var/mariadb/backup

还有你的增量准备(不要忘记inc2inc3等等):

$ mariabackup --prepare --apply-log-only \
   --target-dir=/var/mariadb/backup \
   --incremental-dir=/var/mariadb/inc1

警告;无论第一个命令是否失败,连接命令都会运行第二个命令。

相关内容