Mysql8.0 Percona Xtrabackup使用教程

Mysql8.0 Percona Xtrabackup使用教程

𝓓𝓸𝓷 Lv6

Mysql8.0安装Xtrabackup

一、Xtrabackup简介

​ Innobackupex is the symlink for xtrabackup. innobackupex still supports all features and syntax as 2.2 version did, but is now deprecated and will be removed in next major release.
a compiled C binary that provides functionality to backup a whole MySQL database instance with MyISAM, InnoDB, and XtraDB tables.

二、关闭防火墙

1
2
3
systemctl stop firewalld  
systemctl disable firewalld
systemctl status firewalld

三、关闭Selinux

1
2
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux  
setenforce 0

四、安装Mysql

五、开启bin log

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(1)查看login配置
mysql> show variables like '%log%bin%';
+----------------------------------+--------------------------+
| Variable_name | Value |
+----------------------------------+--------------------------+
| log_bin | ON |
| log_bin_basename | /data/mysql/binlog |
| log_bin_index | /data/mysql/binlog.index |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| log_statements_unsafe_for_binlog | ON |
| sql_log_bin | ON |
+----------------------------------+--------------------------+
7 rows in set (0.00 sec)

(2)开启binlog
# vi /etc/my.cnf

[mysqld]
log-bin=mysql-bin
server_id=1
binlog_format=row


注意:
在MySQL8中,默认情况下开启了binlog(二进制日志),但是没有开启日志记录功能,如需要开启日志记录,则使用以下命令:
SET GLOBAL log_output = 'FILE';
SET GLOBAL general_log = 'ON';

六、安装Xtrabackup

1.yum方式安装

安装epel源主要是为了安装依赖包zstd,如果不安装epel,安装Xtrabackup会提示找不到zstd包
https://mirrors.aliyun.com/epel/

  • Install from Percona YUM repository
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
(1)安装yum源
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# yum install epel-release -y

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

# yum clean all && yum makecache

温馨提示:
RHEL/Centos 5不支持从远程位置直接安装软件包,因此您需要首先下载软件包,然后用rpm手动安装
# wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
# rpm -ivh percona-release-latest.noarch.rpm

(2)开启percona xtrabackup存储库
# percona-release enable pxb-80

(4)安装Xtrabackup
# yum install percona-xtrabackup-80-8.0.34

(5)验证安装
# xtrabackup --version
xtrabackup version 8.0.34-29 based on MySQL server 8.0.34 Linux (x86_64) (revision id: 5ba706ee)

(6)查看Xtrabackup安装路径
# which xtrabackup
/usr/bin/xtrabackup

# rpm -qa|grep xtrabackup
percona-xtrabackup-80-8.0.34-29.1.el7.x86_64

# rpm -ql percona-xtrabackup-80-8.0.34-29.1.el7.x86_64
/usr/bin/xbcloud
/usr/bin/xbcloud_osenv
/usr/bin/xbcrypt
/usr/bin/xbstream
/usr/bin/xtrabackup
/usr/bin/xtrabackup-debug
/usr/include/kmip.h
/usr/include/kmippp.h
/usr/lib/libkmip.a
/usr/lib/libkmippp.a
/usr/lib/private/icudt73l
/usr/lib/private/icudt73l/brkitr
/usr/lib/private/icudt73l/brkitr/burmesedict.dict
/usr/lib/private/icudt73l/brkitr/char.brk
/usr/lib/private/icudt73l/brkitr/cjdict.dict
/usr/lib/private/icudt73l/brkitr/de.res
/usr/lib/private/icudt73l/brkitr/el.res
/usr/lib/private/icudt73l/brkitr/en.res
/usr/lib/private/icudt73l/brkitr/en_US.res
/usr/lib/private/icudt73l/brkitr/en_US_POSIX.res
/usr/lib/private/icudt73l/brkitr/es.res
/usr/lib/private/icudt73l/brkitr/fi.res
/usr/lib/private/icudt73l/brkitr/fr.res
/usr/lib/private/icudt73l/brkitr/it.res
/usr/lib/private/icudt73l/brkitr/ja.res
/usr/lib/private/icudt73l/brkitr/khmerdict.dict
/usr/lib/private/icudt73l/brkitr/ko.res
/usr/lib/private/icudt73l/brkitr/laodict.dict
/usr/lib/private/icudt73l/brkitr/line.brk
/usr/lib/private/icudt73l/brkitr/line_cj.brk
/usr/lib/private/icudt73l/brkitr/line_loose.brk
/usr/lib/private/icudt73l/brkitr/line_loose_cj.brk
/usr/lib/private/icudt73l/brkitr/line_loose_phrase_cj.brk
/usr/lib/private/icudt73l/brkitr/line_normal.brk
/usr/lib/private/icudt73l/brkitr/line_normal_cj.brk
/usr/lib/private/icudt73l/brkitr/line_normal_phrase_cj.brk
/usr/lib/private/icudt73l/brkitr/line_phrase_cj.brk
/usr/lib/private/icudt73l/brkitr/pt.res
/usr/lib/private/icudt73l/brkitr/res_index.res
/usr/lib/private/icudt73l/brkitr/root.res
/usr/lib/private/icudt73l/brkitr/ru.res
/usr/lib/private/icudt73l/brkitr/sent.brk
/usr/lib/private/icudt73l/brkitr/sent_el.brk
/usr/lib/private/icudt73l/brkitr/sv.res
/usr/lib/private/icudt73l/brkitr/thaidict.dict
/usr/lib/private/icudt73l/brkitr/title.brk
/usr/lib/private/icudt73l/brkitr/word.brk
/usr/lib/private/icudt73l/brkitr/word_POSIX.brk
/usr/lib/private/icudt73l/brkitr/word_fi_sv.brk
/usr/lib/private/icudt73l/brkitr/zh.res
/usr/lib/private/icudt73l/brkitr/zh_Hant.res
/usr/lib/private/icudt73l/cnvalias.icu
/usr/lib/private/icudt73l/uemoji.icu
/usr/lib/private/icudt73l/ulayout.icu
/usr/lib/private/icudt73l/unames.icu
/usr/lib/private/libprotobuf-lite.so.3.19.4
/usr/lib/private/libprotobuf.so.3.19.4
/usr/lib64/xtrabackup/plugin/component_keyring_file.so
/usr/lib64/xtrabackup/plugin/component_keyring_kmip.so
/usr/lib64/xtrabackup/plugin/component_keyring_kms.so
/usr/lib64/xtrabackup/plugin/keyring_file.so
/usr/lib64/xtrabackup/plugin/keyring_vault.so
/usr/share/doc/percona-xtrabackup-80-8.0.34
/usr/share/doc/percona-xtrabackup-80-8.0.34/LICENSE
/usr/share/man/man1/xbcrypt.1.gz
/usr/share/man/man1/xbstream.1.gz
/usr/share/man/man1/xtrabackup.1.gz

  • Install with RPM packages
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    (1)下载percona-xtrabackup
    wget -c https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.34-29/binary/redhat/7/x86_64/percona-xtrabackup-80-8.0.34-29.1.el7.x86_64.rpm

    (2)下载依赖包
    阿里镜像源地址:
    https://mirrors.aliyun.com/centos
    https://mirrors.aliyun.com/epel/

    # wget -c https://mirrors.aliyun.com/epel/7Server/x86_64/Packages/z/zstd-1.5.5-1.el7.x86_64.rpm

    # wget -c https://mirrors.aliyun.com/centos/7.9.2009/extras/x86_64/Packages/libev-4.15-7.el7.x86_64.rpm

    # rpm -ivh zstd-1.5.5-1.el7.x86_64.rpm
    # rpm -ivh libev-4.15-7.el7.x86_64.rpm

    (3)安装
    # yum localinstall percona-xtrabackup-80-8.0.34-29.1.el7.x86_64.rpm

    (4)验证安装
    [root@server01 ~]# xtrabackup --version
    2025-01-19T11:24:23.484107+08:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=/var/lib/mysql
    xtrabackup version 8.0.34-29 based on MySQL server 8.0.34 Linux (x86_64) (revision id: 5ba706ee)
2.二进制方式安装

https://docs.percona.com/percona-xtrabackup/8.0/binary-tarball.html#download-the-tarball

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
(1)下载binary tarballs
wget -c https://downloads.percona.com/downloads/Percona-XtraBackup-8.0/Percona-XtraBackup-8.0.34-29/binary/tarball/percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17.tar.gz

(2)安装依赖
yum install perl-Digest-MD5 -y

(3)安装xtrabackup
# tar xvf percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17.tar.gz -C /usr/local/

# cd /usr/local/
# ln -s percona-xtrabackup-8.0.34-29-Linux-x86_64.glibc2.17/ pxb

# cd pxb/bin
# ./xtrabackup --version
2025-01-19T12:03:51.549534+08:00 0 [Note] [MY-011825] [Xtrabackup] recognized server arguments: --datadir=/var/lib/mysql
./xtrabackup version 8.0.34-29 based on MySQL server 8.0.34 Linux (x86_64) (revision id: 5ba706ee)

(4)添加环境变量
# vi /etc/profile
export PATH=/usr/local/pxb/bin:$PATH

# source /etc/profile


xtrabackup备份报错:
Can't locate Digest/MD5.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at - line 754.
BEGIN failed--compilation aborted at - line 754.

解决办法:
# yum install perl-Digest-MD5 -y


Failed to connect to MySQL server as DBD::mysql module is not installed at - line 1548.

解决办法:
# yum install perl-DBD-MySQL -y


Failed to connect to MySQL server: DBI connect(';mysql_read_default_group=xtrabackup;host=localhost;mysql_socket=/tmp/mysql.sock','backup',...) failed: Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory at - line 1535.
2025-01-19T22:52:42.829783+08:00 0 [Note] [MY-011825] [Xtrabackup] Connecting to MySQL server host: localhost, user: backup, password: set, port: not set, socket: /tmp/mysql.sock


alter user backup@'localhost' identified with 'mysql_native_password' by '123456';

flush privileges;

七、创建备份帐号

权限: https://docs.percona.com/percona-xtrabackup/8.0/privileges.html#privileges-needed

1.创建帐号
1
2
3
4
5
6
7
8
9
10
11
12
create user backup@'localhost' identified by '123456';

grant backup_admin,reload,process,lock tables,replication client on *.* to backup@'localhost';

grant select on performance_schema.log_status to backup@'localhost';

grant select on performance_schema.keyring_component_status to backup@'localhost';

grant select on performance_schema.replication_group_members to backup@'localhost';

flush privileges;

2.使用mysql_config_editor隐藏帐号密码
1
2
3
4
5
# mysql_config_editor set --login-path=pxb --user=backup --password --host=localhost

# mysql_config_editor set --login-path=pxb --user=backup --password --host=localhost -S /tmp/mysql.sock

# mysql --login-path=pxb

八、备份

https://www.jb51.net/database/327463ae4.htm
https://bbs.huaweicloud.com/blogs/423617

1.全备

如果/data/backup目录不存在,则会自动创建,如果指定的是相对路径,则备份文件会存储在当前目录,如果目录中已存在文件,则不会覆盖,会提示文件已存在: xtrabackup: Can’t create/write to file ‘/data/backups/xtrabackup_logfile’ (OS errno 17 - File exists)

1
2
3
xtrabackup -ubackup -p --host localhost --backup --target-dir=/data/backup

xtrabackup --login-path=pxb --backup --target-dir=/data/backup/full
2.增量备份

https://docs.percona.com/percona-xtrabackup/8.0/create-incremental-backup.html#create-an-incremental-backup_1
To make an incremental backup, begin with a full backup as usual. The xtrabackup binary writes a file called xtrabackup_checkpoints into the backup’s target directory. This file contains a line showing the to_lsn, which is the database’s LSN at the end of the backup. Create the full backup with a following command:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
第一次增量备份
xtrabackup --login-path=pxb --backup --target-dir=/data/backup/incr
--incremental-basedir=/data/backup/full


第二次增量备份
xtrabackup --backup --target-dir=/data/backup/inc2
--incremental-basedir=/data/backups/incr



xtrabackup --backup --target-dir=/data/backup/inc2
--incremental-lsn=20423352

3.备份脚本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
(1)全备脚本

#!/bin/bash
#set env


export PATH=/usr/local/mysql/bin:/usr/local/pxb/bin:$PATH



DATE=`date +%Y%m%d`
datadir=/apps/data


keep_days=31
keep_date=`date -d "$keep_days days ago" +"%Y%m%d"`

mount_point=/backup
backup_path=$mount_point/pxb
backup_full=$backup_path/full
log_dir=$backup_path/log
logfile=mysql_backup_${DATE}.log


if ! mount | grep -q " on ${mount_point} type "; then

echo "`date +%Y%m%d` Please check if the directory $backup_path exists!" > /tmp/$logfile
exit 1

fi


[ ! -d $log_dir ] && mkdir $log_dir



echo "----------------------------- Backup Start: `date "+%Y-%m-%d %H:%M:%S"` ----------------
-------------" > $log_dir/$logfile

mkdir -p $backup_full/$DATE
xtrabackup --login-path=pxb \
--backup \
--datadir=$datadir \
--target-dir=$backup_full/$DATE \
--compress \
--compress-threads=4 >> $log_dir/$logfile 2>&1

echo "----------------------------- Backup End: `date "+%Y-%m-%d %H:%M:%S"` ------------------
-------------" >> $log_dir/$logfile



find $backup_full/* -maxdepth 0 -type d ! -newermt $keep_date |xargs rm -rf
find $log_dir/* -maxdepth 0 -type f -mtime +$keep_days |xargs rm -rf



(2)全备+增量脚本

#!/bin/bash
#set env

PATH=/usr/local/pxb/bin:$PATH
DATE=`date +%Y%m%d`
DATE_D=`date +%w`
datadir=/data/mysql

keep_days=15
keep_date=`date -d "$keep_days days ago" +"%Y%m%d"`

backup_path=/data/backup
backup_full=$backup_path/full
backup_incr=$backup_path/incr
logfile=$backup_path/log

[ ! -d $logfile ] && mkdir $logfile


full_base_dir=$backup_full/$(ls -tr $backup_full|tail -n 1)
incr_base_dir=$backup_incr/$(ls -tr $backup_incr|tail -n 1)
incr_filename=$(ls -tr $backup_incr|tail -n 1)
full_lsn=$(grep -i to_lsn $full_base_dir/xtrabackup_checkpoints 2> /dev/null |awk -F'=' '{print $2}')
incr_lsn=$(grep -i to_lsn $incr_base_dir/xtrabackup_checkpoints 2> /dev/null |awk -F'=' '{print $2}')


if [ $incr_filename ] && [ $incr_lsn ];then
incr_basedir=$incr_base_dir
else
incr_basedir=$full_base_dir
fi




if [ $DATE_D -eq 0 ] || [ ! $full_lsn ]; then
Type=Full
echo "----------------------------- Backup Start: `date "+%Y-%m-%d %H:%M:%S"` -----------------------------" > $logfile/${Type}_mysql_$DATE.log

mkdir -p $backup_full/$DATE
xtrabackup --login-path=pxb --backup --datadir=$datadir --target-dir=$backup_full/$DATE --compress --compress-threads=4 >> $logfile/${Type}_mysql_$DATE.log 2>&1

echo "----------------------------- Backup End: `date "+%Y-%m-%d %H:%M:%S"` -------------------------------" >> $logfile/${Type}_mysql_$DATE.log

else
Type=Incr
echo "----------------------------- Backup Start: `date "+%Y-%m-%d %H:%M:%S"` -----------------------------" > $logfile/${Type}_mysql_$DATE.log

mkdir -p $backup_incr/$DATE
xtrabackup --login-path=pxb --backup --datadir=$datadir --target-dir=$backup_incr/$DATE --incremental-basedir=$incr_basedir >> $logfile/${Type}_mysql_$DATE.log 2>&1

echo "----------------------------- Backup End: `date "+%Y-%m-%d %H:%M:%S"` -------------------------------" >> $logfile/${Type}_mysql_$DATE.log
fi




find $backup_incr/* -maxdepth 0 -type d -mtime +$keep_days |xargs rm -rf
find $backup_full/* -maxdepth 0 -type d ! -newermt $keep_date |xargs rm -rf
find $logfile/* -maxdepth 0 -type f -mtime +$keep_days |xargs rm -rf



(3)定时任务:
32 20 * * * /root/script/mysql_backup_pxb.sh > /root/script/mysql_backup.log 2>&1

九、恢复

After making a backup with the --backup option, you need to prepare it in order to restore it. Data files are not point-in-time consistent until they are prepared, because they were copied at different times as the program ran, and they might have been changed while this was happening.

You can run the prepare operation on any machine; it does not need to be on the originating server or the server to which you intend to restore. You can copy the backup to a utility server and prepare it there.

Note that Percona XtraBackup 8.0 can only prepare backups of MySQL 8.0, Percona Server for MySQL 8.0, and Percona XtraDB Cluster 8.0 databases. Releases prior to 8.0 are not supported.

It is not recommended to interrupt xtrabackup process while preparing backup because it may cause data files corruption and backup will become unusable. Backup validity is not guaranteed if prepare process was interrupted.

1.全备恢复
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
(1)prepare全备
xtrabackup --prepare --target-dir=/data/backup

(2)恢复
xtrabackup --copy-back --target-dir=/data/backup

xtrabackup --move-back --target-dir=/data/backup

rsync -avrP /data/backup/ /var/lib/mysql/

(3)修改数据目录权限
chown -R mysql:mysql /var/lib/mysql

(4)启动数据库
/etc/init.d/mysql start

注意:
如果备份已经压缩过,则在prepare之前需要解压缩:
xtrabackup --login-path=pxb --decompress --remove-original --target-dir=/data/backup

解压后--remove-original参数会将原始的压缩文件删除

2.增量恢复

Percona XtraBackup does not support using the same incremental backup directory to prepare two copies of backup. Do not run --prepare with the same incremental backup directory (the value of –incremental-dir) more than once.

--apply-log-only should be used when merging the incremental backups except the last one. That’s why the previous line does not contain the --apply-log-only option. Even if the --apply-log-only was used on the last step, backup would still be consistent but in that case server would perform the rollback phase.

Once prepared incremental backups are the same as the full backups, and they can be restored in the same way.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
(1)prepare增量
全量prepare:
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base

第一次增量prepare:
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base \
--incremental-dir=/data/backups/inc1

第二次增量prepare:
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base \
--incremental-dir=/data/backups/inc2

第三次增量prepare:
xtrabackup --prepare --target-dir=/data/backups/base \
--incremental-dir=/data/backups/inc3

注意:
最后一次prepare不需要使用--apply-log-only参数

(2)恢复
xtrabackup --copy-back --target-dir=/data/backup

(3)修改数据目录权限
chown -R mysql:mysql /var/lib/mysql

(4)启动数据库
/etc/init.d/mysql start

十、部分库表备份恢复

xtrabackup supports taking partial backups when the innodb_file_per_table option is enabled. There are three ways to create partial backups:

  1. matching the tables names with a regular expression

  2. providing a list of table names in a file

  3. providing a list of databases

1.备份指定的库

make sure to specify the mysqlsys, and
performance_schema databases. These databases are required when restoring the databases using xtrabackup –copy-back.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
(1)备份mydb数据库
xtrabackup --backup --databases='mysql sys performance_schema mydb'
--datadir=/data/mysql --target-dir=/data/backup/mydb_bak

# ll /data/backup/mydb_bak/mydb/
total 336
-rw-r----- 1 root root 114688 Jan 20 22:50 t1.ibd
-rw-r----- 1 root root 114688 Jan 20 22:50 t2.ibd
-rw-r----- 1 root root 114688 Jan 20 22:50 t.ibd

(2)备份mydb数据库下面的t表
xtrabackup --backup --databases='mysql sys performance_schema mydb.t'
--datadir=/data/mysql --target-dir=/data/backup/mydb_bak

# ll /data/backup/mydb_bak/mydb/
total 112
-rw-r----- 1 root root 114688 Jan 20 22:54 t.ibd


(3)文件列表形式备份数据库
# more /tmp/pxb.file
sys
mysql
performance_schema
mydb.t1

# xtrabackup --backup --databases-file=/tmp/pxb.file
--datadir=/data/mysql --target-dir=/data/backup/mydb_bak

# ll /data/backup/mydb_bak/mydb/
total 112
-rw-r----- 1 root root 114688 Jan 20 22:59 t1.ibd

2.备份指定的表
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
(1)备份特定的表
# xtrabackup --backup --tables="mydb.t2" --target-dir=/data/backup/mydb_bak

# xtrabackup --backup --tables="mydb.*" --target-dir=/data/backup/mydb_bak

# xtrabackup --backup --tables="^mydb[.]t1" --target-dir=/data/backup/mydb_bak

# xtrabackup --backup --tables="^mydb[.].*" --target-dir=/data/backup/mydb_bak

(2)以文件参数列表形式备份
# more /tmp/table.file
mydb.t
mydb.t2

# xtrabackup --backup --tables-file=/tmp/table.file --target-dir=/data/backup/mydb_bak

十一、卸载XtraBackup

1.yum卸载

Remember to back up any important data before uninstalling software.

Remove the XtraBackup packages:

$ sudo yum remove percona-xtrabackup-80

To remove all configuration files and packages, run the following command:

$ sudo yum remove percona-xtrabackup-80 --remove-leaves

Remove any unused dependencies:

$ sudo yum autoremove

To verify the removal, check the version:

$ xtrabackup --version

This should return a command not found.

You must remove any remaining directories manually:

$ sudo rm -rf /var/lib/xtrabackup

You can also remove any added Percona repositories from your system manager’s configuration.

2.rpm卸载
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# rpm -qa | grep percona
percona-xtrabackup-80-8.0.34-29.1.el7.x86_64

# rpm -ev percona-xtrabackup-80-8.0.34-29.1.el7.x86_64
Preparing packages...
percona-xtrabackup-80-8.0.34-29.1.el7.x86_64

# xtrabackup --version
-bash: /usr/bin/xtrabackup: No such file or directory

---卸载相关依赖包
# rpm -qa|grep zstd
zstd-1.5.5-1.el7.x86_64
# rpm -ev zstd-1.5.5-1.el7.x86_64

libev-4.15-7.el7.x86_64
perl-DBD-MySQL
perl-Digest
perl-Digest-MD5
  • Title: Mysql8.0 Percona Xtrabackup使用教程
  • Author: 𝓓𝓸𝓷
  • Created at : 2025-01-20 11:23:09
  • Updated at : 2025-02-25 18:26:58
  • Link: https://www.zhangdong.me/mysql8.0-percona-xtrabackup.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论