首页 > 其他分享 >使用Xtrabakcup工具实现增量、全量备份

使用Xtrabakcup工具实现增量、全量备份

时间:2023-11-01 21:32:21浏览次数:29  
标签:-- data 备份 Xtrabakcup xtrabackup 全量 mysql backup dir

xtrabackup备份对比mysqldump,好处是:备份速度快,不锁表,支持增量备份。


1、下载合适的包并安装

官网下载地址:https://www.percona.com/downloads/Percona-XtraBackup-LATEST/


在这里,我下载8.0.29

wget https://downloads.percona.com/downloads/Percona-XtraBackup-LATEST/Percona-XtraBackup-8.0.29-22/binary/tarball/percona-xtrabackup-8.0.29-22-Linux-x86_64.glibc2.17.tar.gz


由于是二进制包,解压后可直接使用

将包解压到/usr/local/下

tar zxf percona-xtrabackup-8.0.29-22-Linux-x86_64.glibc2.17.tar.gz -C /usr/local/
ln -s /usr/local/percona-xtrabackup-8.0.29-22-Linux-x86_64.glibc2.17/bin/xtrabackup  /usr/bin/


###

全量备份

创建目录

mkdir -p /data/backup/20220819


备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf -uroot -p'yanglinux.Com'  -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220819


恢复

1)停止原mysql服务

systemctl stop mysqld


2)模拟故障,例如可以挪走之前的数据目录

mv /data/mysql  /data/mysql_old


3)恢复

应用日志

xtrabackup --prepare --apply-log-only   --target-dir=/data/backup/20220819


数据准备

xtrabackup --prepare --target-dir=/data/backup/20220819


恢复

xtrabackup -uroot -p'yanglinux.Com' --datadir=/data/mysql --copy-back --target-dir=/data/backup/20220819


修改权限

chown -R mysql:mysql  /data/mysql

启动服务

systemctl start mysqld


###

增量备份

创建目录

mkdir -p /data/backup/20220820
mkdir -p /data/backup/20220820_incr


增量备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf  -uroot -p'yanglinux.Com' -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220820_incr  --incremental-basedir=/data/backup/20220820


恢复

1)停止原mysql服务

systemctl stop mysqld


2)模拟故障,例如可以挪走之前的数据目录

mv /data/mysql  /data/mysql_old


3)恢复

应用全备日志

xtrabackup --prepare --apply-log-only   --target-dir=/data/backup/20220820


应用增量日志

xtrabackup --prepare  --target-dir=/data/backup/20220820 --incremental-dir=/data/backup/20220820_incr


数据准备

xtrabackup --prepare --target-dir=/data/backup/20220820


恢复

xtrabackup -uroot -p'yanglinux.Com' --datadir=/data/mysql --copy-back --target-dir=/data/backup/20220820


修改权限

chown -R mysql:mysql  /data/mysql

启动服务

systemctl start mysql

###

多个增量备份


创建目录

mkdir -p /data/backup/20220821/full
mkdir -p /data/backup/20220821/incr

全量备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf -uroot -p'yanglinux.Com'  -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220821/full

做一些更改


第一次增量备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf  -uroot -p'aminglinux.Com' -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220821/incr/01  --incremental-basedir=/data/backup/20220821/full


做一些更改

第二次增量备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf  -uroot -p'aminglinux.Com' -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220821/incr/02  --incremental-basedir=/data/backup/20220821/incr/01


做一些更改

第三次增量备份

xtrabackup --defaults-file=/usr/local/mysql/my.cnf  -uroot -p'aminglinux.Com' -S /tmp/mysql.sock --backup --target-dir=/data/backup/20220821/incr/03  --incremental-basedir=/data/backup/20220821/incr/02


恢复

1)停止原mysql服务

systemctl stop mysqld


2)模拟故障,例如可以挪走之前的数据目录

mv /data/mysql  /data/mysql_old


3)恢复

应用全备日志

xtrabackup --prepare --apply-log-only   --target-dir=/data/backup/20220821/full

应用第一次增量日志

xtrabackup --prepare  --apply-log-only --target-dir=/data/backup/20220821/full --incremental-dir=/data/backup/20220821/incr/01

应用第二次增量日志

xtrabackup --prepare  --apply-log-only --target-dir=/data/backup/20220821/full --incremental-dir=/data/backup/20220821/incr/02

应用第三次增量日志,最后一次不需要加--apply-log-only

xtrabackup --prepare   --target-dir=/data/backup/20220821/full --incremental-dir=/data/backup/20220821/incr/03


数据准备

xtrabackup --prepare --target-dir=/data/backup/20220821/full

恢复

xtrabackup -uroot -p'yanglinux.Com' --datadir=/data/mysql --copy-back --target-dir=/data/backup/20220821/full


修改权限

chown -R mysql:mysql  /data/mysql


启动服务

systemctl start mysqld

标签:--,data,备份,Xtrabakcup,xtrabackup,全量,mysql,backup,dir
From: https://blog.51cto.com/u_15288767/8133084

相关文章

  • 手机通讯录好备份,那微信通讯录怎么办
    6-8微信联系已经成为我们日常生活沟通联系最常用的渠道之一,那么对于通讯录的提前备份就越来越重要了,防患于未然。如果是手动一个个联系人去抄写备份的话会花很多时间,特别是有些通讯联系人比较多的朋友。这里有一个小工具《微信通讯录极速导出工具》,可以方便快速地一键导出所有的微......
  • 备份数据库文件至OSS服务(纯shell脚本无sdk)
    背景:凡事使用服务器搭建的网站就需要定时备份网站数据,常见的方法是打包网站目录,然后备份到FTP服务器上等。也有通过OSSSDK把备份的网站文件上传到OSS服务器上,但是通过SDK来实现,需要一定的技术能力,而且相对比较复杂,需要使用更多的文件,而这篇文章是通过shell脚本,并不是通过OSSSDK......
  • 使用mysqldump进行数据库备份实战遇到的问题
    [root@mysql~]#mysqldump-uroot-pdb_shop>/opt/db_shop.sqlEnterpassword:mysqldump:Couldn'texecute'SHOWVARIABLESLIKE'gtid\_mode'':Table'performance_schema.session_variables'doesn'texist(1146)原......
  • PostgreSQL pgBackRest 是最好的PG备份工具 ? (深入一些疑难问题 2)
    每天感悟突然想愤怒的时候,或别人认为你应该愤怒的时候,你不在愤怒,而是能理智的或冰冷的分析出为什么,原因是什么,并且尝试把自己放到他的位置去看明白原理或根本,恭喜你又升级了上次在安装和简单的实现了备份后,产生了很多的问题,基于这些问题我们持续的开始针对pgbackrest进行研究和发现......
  • PostgreSQL pgBackRest 是最好的PG备份工具 ? (小试牛刀 1)
    之前备份的工具一直在使用PGRMAN,潮流变化了,现在最新最推崇的PG备份软件是pgBackRest,今天来探究一下到底为什么他是目前最推崇的备份软件。根据GITHUB的介绍,pgbackrest目标是一个可信赖的容易使用的备份和恢复工具和一体化的解决方案,针对大型的数据库和多负载的情况下的选择,目前写......
  • SQL Server数据库创建远程服务器备份计划(小白详细图文教程)
    一、前言最近项目系统做安全加固,以前是本地备份,现在需要做远程内网服务器数据库备份,后期也有可能做异地备份。下面以SQLServer2016内网服务器数据库备份为例,数据库服务器地址:192.168.10.200备份服务器地址:192.168.10.100二、创建存储文件夹192.168.10.100远程100服务器,创建......
  • 备份任务
    #!/bin/bash################################################################################压缩文件脚本#source_path:要压缩的路径如:/data/file/#extension:要压缩的文件类型,如.log.class#save_path:要保存的路径如:/data/file/backup/######......
  • 一些简单的备份恢复以及清理脚本
    一些简单的备份恢复以及清理脚本背景想实现一些比较重要文件的备份工作.想法是通过minio备份数据库.通过rsync的方式备份类似于maven这样的文件存储内容.备份完成之后通过find方式清理磁盘避免磁盘爆掉.minio备份的方式方法now=`date+%Y%m%d%H`exportAWS_ACCE......
  • 新手教程系列:群晖 Synology Drive教程,如何实现文件同步与备份?
    SynologyDrive是群晖NAS的一款文件同步和共享工具,提供了非常完善的功能,您可以轻松地对文件进行分类、归档、共享等操作,也可以在多个设备之间同步文件、备份文件、共享文件,包括电脑、手机、平板等设备。总的来说,使用SynologyDrive的好处是可以方便快捷地在不同设备之间同步文件,保......
  • Anaconda环境备份
    在Windows电脑上,为了避免系统崩溃,或是为了将相同的环境拷贝到其它电脑上在装好Anaconda环境之后克隆并使用,可以将.conda文件夹全盘打个压缩包存起来,再到另一个电脑上将它们与新装的替换掉。例如,我的路径是C:\Users\ezhar\.conda,我就直接把这个文件夹压缩了一下,实现备份。......