此前提是使用的CentOS9的操作系统
首先下载一个插件,配合MySQL进行备份
我们先去官网:
https://docs.percona.com/percona-for-mysql#percona-operator-based-on-percona-server-for-mysql
安装yum仓库
YUM安装perconna仓库
yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
如果无法直接安装,可以尝试先下载,再安装
wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install -y percona-release-latest.noarch.rpm
[root@localhost ~]# yum repolist
源标识 源名称
base/7/x86_64 CentOS-7 - Base
extras/7/x86_64 CentOS-7 - Extras
pmm2-client-release-x86_64/7 PMM2 Client release/x86_64 YUM repository
prel-release-noarch/7 Percona Release release/noarch YUM repository
telemetry-release-x86_64/7 Percona Telemetry release/x86_64 YUM repository
updates/7/x86_64 CentOS-7 - Updates
repolist: 16,821
启用Percona Tools存储库
由于我们要安装Percona XtraBackup,所以需要确保启用了Percona Tools存储库。通过以下命令启用它:
percona-release enable-only tools release
安装XtraBackup命令
yum install percona-xtrabackup-83
注意:xtrabackup8.0只支持mysql8.0以上的版本,mysql5.7或以下需要使用xtrabackup8.0以下的版本
全备
准备数据库数据
select * from all713.t1 ;
+----+-------+
| id | name |
+----+-------+
| 1 | 完全1 |
| 2 | 完全1 |
+----+-------+
完全备份流程
mkdir -p /data/backup/
xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/base/ -uroot -pPassword@123 -H localhost -P 3306 --no-server-version-check
注释:
--defaults-file 备份工具在备份数据库的时候,需要参考的默认文件。一般参考mysql的主配置文件
--backup 备份的意思
--target-dir 备份后的文件放在哪里(要提前把备份的目录创建好)
-u 备份时候使用的数据库身份
-p 备份时使用身份的密码
-H 要备份哪台机器
-P 备份工具所登录备份服务器的端口
--no-server-version-check 不对服务版本进行校验
校验:
ls /data/backup/base
完全备份恢复
准备删库跑路:
systemctl stop mysqld
rm -rf /var/lib/mysql/*
准备备份文件
执行会报错:
xtrabackup --prepare --target-dir=/data/backup/base
解决方案:
xtrabackup --prepare --target-dir=/data/backup/base --no-server-version-check
开始恢复
xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base/
授权
chown -R mysql.mysql /var/lib/mysql
重启并登录数据库
systemctl restart mysqld
mysql -uroot -p'Password@123'
检查数据库内容
show databases;
use all13
select * from t1;
+----+-------+
| id | name |
+----+-------+
| 1 | 完全1 |
| 2 | 完全1 |
+----+-------+