percona xtrabackup备份还原

2024年 6月 19日 79.0k 0

安装

1.1依赖包

yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL libev

1.2下载软件并安装

8.0版本之前,xbk对应版本选择2.4.x,适用于5.7,兼容5.6和5.5

官网:https://www.percona.com/downloads/

https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/

只下载percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm就好

yum -y install percona-xtrabackup-24-2.4.12-1.el7.x86_64.rpm

使用前提

检查socket

xbk是服务器端工具,即需要在服务器端备份,确认配置文件中有如下配置信息

[client]

socket=/tmp/mysql.sock

全备

innobackupex --user=root --password=123456 /backup/xbk/

在备份目录子目录中会有相应记录(以时间戳命名)

我们也可以不用默认时间戳,改为方便查看的格式:

innobackupex --user=root --password=123456 --no-timestamp /backup/xbk/full_`date +%Y%m%d`/

差备

innobackupex --user=root --password=123456 --no-timestamp --incremental --incremental-basedir=/backup/xbk/full_`date +%Y%m%d`/

恢复

合并prepare所有inc到全备,恢复数据然后启动数据库

5.1合并

prepare inc到全备,注意合并过程是不可逆的,保险起见可以将文件做个备份

innobackupex --apply-log --redo-only /backup/xbk/full_20210506

此处必须加–redo-only,意思是只应用redo而不应用undo

innobackupex --apply-log --incremental-dir=/backup/xbk/inc_20210506 /backup/xbk/full_20210506

如果这个增量备不是最后一个的话依然要加–redo-only参数,类比sqlserver的with norecovery,对比last_lsn可知有没有合并成功

最后整体再次prepare整个备份

innobackupex --apply-log /backup/xbk/full_20210506

5.2恢复

关闭mysql

mv /data /data_old

cp -r /backup/xbk/full_20210506/ /data

chmod 755 /data

chown -R mysql:mysql /data

再启动mysql

可直接写入脚本:

DAY=6

INCR_DATA=`date '+%u'`

if [ "$INCR_DATA"x = "$DAY"x ]

then

/usr/bin/innobackupex --user=root --password=123456 --no-timestamp /backup/xbk/full_`date +%Y%m%d`/

else

innobackupex --user=root --password=123456 --no-timestamp --incremental --incremental-basedir=/backup/xbk/full_`date +%Y%m%d -d "last saturday"`/ /backup/xbk/inc_`date +%Y%m%d`/

fi

测试只还原单库到其他节点(加快速度):

参考:

https://www.cnblogs.com/xuliuzai/archive/2018/10/12/9780766.html

其实就是将其余的删掉即可

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论