转到MariaDB备份

文章讲述了在升级到MariaDB Server 10.3后,由于XtraBackup不支持新重做日志格式,转而使用MariaDB Backup进行备份的过程。MariaDB Backup不仅支持新格式,还适用于Windows,并提供静态数据加密功能。备份和恢复的命令进行了相应调整,通过mariabackup命令和相关选项完成,并在另一台服务器上成功验证了备份的恢复。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果您一直在备份XtraBackup并尝试对MariaDB Server 10.3运行相同的命令,您将收到一条错误消息:

$ innobackupex ~/backup_to_dir --user=username --password=password
...
InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.3.9.

最后一条消息中的第一句话是它的内容。XtraBackup不理解10.3的重做日志中的文件。请注意,我们使用旧版本的XtraBackup,这就是命令仍然是innobackupex的原因。

由于这个以及下面提到的其他一些原因,MariaDB Server现在附带了支持新的重做日志格式的MariaDB Backup。使用MariaDB Backup,您可以使用与XtraBackup相同的功能,但支持改进的重做日志格式并支持MariaDB的静态数据加密。另一个非常需要的方面是MariaDB Backup也适用于Windows,XtraBackup不是。如果您有兴趣了解有关重做日志更改的更多信息,请阅读。

在本文开头,我提到我们最近将Jira升级到最新版本,将MariaDB Server升级到10.3。在那个旧环境中,我们使用了XtraBackup。要获得MariaDB Server 10.3的备份,我们必须更新备份脚本以使用MariaDB Backup。

切换到MariaDB Backup后,备份命令如下所示:

$ mariabackup --backup --target-dir /backup/to/dir --user=username --password=password --parallel=4

我们不得不将命令本身从innobackupex更改mariabackup,我们添加了两个选项; 告诉mariabackup我们希望它创建一个备份和-target-dir来指定给定目录是备份文件应该去的位置。应该注意的是,如果我们一直在使用更新版本的XtraBackup,命令行选项将与XtraBackup完全兼容,那么唯一要改变的就是从xtrabackupmariabackup的命令本身。

为了确保备份工作,我们将其复制到另一台服务器并尝试在那里恢复它。要恢复备份,我们首先要准备它:

$ mariabackup --prepare --target-dir full-2018-09-11_09-38-32

请注意,我有一个MariaDB Server实例的完整备份,它将替换我正在恢复到的实例中存在的任何内容。因此,我将停止服务器并删除它所拥有的任何数据文件。

$ sudo service mariadb stop
$ sudo rm -rf /var/lib/mysql/*

现在,备份文件可以放在此服务器实例的数据目录中。应该使用mariabackup来完成它。它做了一些与上面解释的重做日志格式相关的事情。

$ sudo mariabackup --copy-back --target-dir full-2018-09-11_09-38-32

确保权限正确。在我的情况下,普通用户和组正在使用中。然后启动服务器。

$ sudo chown mysql:mysql /var/lib/mysql -R
$ sudo service mariadb start

然后让我们连接到服务器并验证它是否具有应有的数据。我决定查询Jira中的最大问题编号。

# connect to mariadb
$ mysql -uusername -ppassword
# query the database
MariaDB [(none)]> USE jiradb
MariaDB [jiradb]> SELECT MAX(issuenum) FROM jiraissue;

瞧!我们现在有备份在MariaDB Server 10.3上运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值