Linux下的MySQLPercona XtraBackup的安装以及备份。

本文介绍了在RHEL/CentOS5系统上通过yum安装PerconaXtraBackup的方法,包括配置存储库、启用、安装及使用完全备份、增量备份和恢复过程。

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

安装Percona XtraBackup

RHEL/Centos 5 不支持直接从远程位置安装软件包,因此需要先下载软件包并使用 rpm 手动安装:一下介绍的是yum安装方法

1、安装配置工具percona-release

为 percona-release 安装 yum 存储库 :注意(通过root身份)

$ yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm

安装percona-release 工具


出现一下提示为安装成功

Retrieving https://repo.percona.com/yum/percona-release-latest.noarch.rpm
Preparing...                ########################################### [100%]
   1:percona-release        ########################################### [100%]

2、测试存储库

$ yum list | grep percona

...
percona-xtrabackup-20.x86_64               2.0.8-587.rhel5             percona-release-x86_64
percona-xtrabackup-20-debuginfo.x86_64     2.0.8-587.rhel5             percona-release-x86_64
percona-xtrabackup-20-test.x86_64          2.0.8-587.rhel5             percona-release-x86_64
percona-xtrabackup-21.x86_64               2.1.9-746.rhel5             percona-release-x86_64
percona-xtrabackup-21-debuginfo.x86_64     2.1.9-746.rhel5             percona-release-x86_64
percona-xtrabackup-22.x86_64               2.2.13-1.el5                percona-release-x86_64
percona-xtrabackup-22-debuginfo.x86_64     2.2.13-1.el5                percona-release-x86_64
percona-xtrabackup-debuginfo.x86_64        2.3.5-1.el5                 percona-release-x86_64
percona-xtrabackup-test.x86_64             2.3.5-1.el5                 percona-release-x86_64
percona-xtrabackup-test-21.x86_64          2.1.9-746.rhel5             percona-release-x86_64
percona-xtrabackup-test-22.x86_64          2.2.13-1.el5                percona-release-x86_64
...

3、启用存储库:

如果 Percona XtraBackup 打算与 上游MySQL服务器,你只需要启用存储库:。toolspercona-release enable-only tools

$ percona-release enable-only tools release

4、安装percona-xtrabackup-24

通过运行以下命令安装 Percona XtraBackup:

$ yum install percona-xtrabackup-24

如果可以用tab自动补全   xtrabackup 命令,则说明安装成功

如何使用Percona XtraBackup进行完全备份

完全备份,也称为全量备份,是指对某一个时间点上的所有数据或应用进行的一个完全拷贝。命令如下

$ xtrabackup --backup --target-dir=/root/mysql_backup -uroot -p你的密码

--backup 表示备份
--target-dir 表示要备份到哪个目录


备份后可查看目录
[root@localhost mysql_backup]# ls -l 
total 131120
-rw-r-----. 1 root root      487 Mar 13 09:10 backup-my.cnf
-rw-r-----. 1 root root      325 Mar 13 09:10 ib_buffer_pool
-rw-r-----. 1 root root 12582912 Mar 13 09:23 ibdata1
-rw-r-----. 1 root root 50331648 Mar 13 09:23 ib_logfile0
-rw-r-----. 1 root root 50331648 Mar 13 09:21 ib_logfile1
-rw-r-----. 1 root root 12582912 Mar 13 09:23 ibtmp1
drwxr-x---. 2 root root     4096 Mar 13 09:10 mysql
drwxr-x---. 2 root root     8192 Mar 13 09:10 performance_schema
drwxr-x---. 2 root root       60 Mar 13 09:10 student_db
drwxr-x---. 2 root root     8192 Mar 13 09:10 sys
drwxr-x---. 2 root root       50 Mar 13 09:10 test
-rw-r-----. 1 root root      135 Mar 13 09:23 xtrabackup_checkpoints
-rw-r-----. 1 root root      436 Mar 13 09:10 xtrabackup_info
-rw-r-----. 1 root root  8388608 Mar 13 09:21 xtrabackup_logfile
-rw-r--r--. 1 root root        1 Mar 13 09:23 xtrabackup_master_key_id

恢复备份

使用该选项创建备份后,您需要准备备份,然后还原它。数据文件不是时间点 在它们准备好之前是一致的,因为它们是在程序运行的不同时间复制的,并且它们可能在发生这种情况时被更改。

恢复备份前,可以先删掉一个数据库,以此作为验证

准备备份
$ xtrabackup --prepare --target-dir=/root/mysql_backup -uroot -p你的密码


$ service mysqld stop  #先关闭数据库



恢复备份 利用rsync,将备份的文件mysql_backup/ 恢复到/var/lib/mysql/
$ rsync -avrP /root/mysql_backup/  /var/lib/mysql/


$ service mysqld start  #开启数据库

增量备份

xtrabackup 支持增量备份,这意味着它们只能复制自上次备份以来更改的所有数据。

注意

MyRocks 存储引擎上的增量备份无法确定早期的完整备份或增量备份是否包含相同的文件。Percona XtraBackup 每次备份时都会复制所有 MyRocks 文件。

您可以在每个全量备份之间执行多个增量备份,因此您可以设置一个备份过程,例如每周一次全量备份和每天增量备份,或者每天全量备份和每小时增量备份。

删除之前的备份
$ rm -rf /root/mysql_backup/*
创建一个完全备份
$ innobackupex  --user=root  xtrabackup   --password=000000
在数据库中添加一个新库wwww

[root@localhost mysql_backup]# innobackupex  --user=root  --incremental xtrabackup/  --incremental-basedir=xtrabackup/2024-03-14_05-04-00/ --password=000000

--incremental xtrabackup/ 创建到xtrabackup下
--incremental-basedir=xtrabackup/2024-03-14_05-04-00/ 基于这个完全备份

[root@localhost mysql_backup]# ls xtrabackup/
2024-03-14_05-04-00  2024-03-14_05-17-09

备份恢复

[root@localhost mysql_backup]#systemctl stop mariadb 停止MySQL
[root@localhost mysql_backup]# rm -rf /var/lib/mysql/*  删除便于测试



[root@localhost mysql_backup]# innobackupex --copy-back xtrabackup/2024-03-14_05-04-00/ 恢复数据

[root@localhost mysql_backup]# chown -R mysql.mysql /var/lib/mysql  修改文件属性

[root@localhost mysql_backup]# systemctl start mysqld  启动查看MySQL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值