关于备份
备份原因
备份目标
- 数据一致性
- 服务可用性
备份技术
- 物理备份/冷备份
- 直接复制数据文件,适用于 大型数据库环境,不受存储引擎限制,但不能恢复到不同的mysql版本
- tar,cp,scp
- 拷贝数据快,缺点:服务要停止
- vim /etc/ssh/sshd_config
PermitRootLogin yes
解决centos9 不能远程登入root
- scp使用
scp /root/1.txt 192.168.137.201:/root/
- 逻辑备份/热备份
- 备份是建表,建库,插入等操作所执行SQL语句(DML,DDL,DCL),适用于中小型数据库
- mysqldump,mydumper
- 效率相对较低
备份模式
- 完整备份
- 增量备份
- 连续恢复 :每次备份自上次备份以来有变化的文件,所以备份快,但是恢复时,需要按时间顺序进行恢复,恢复时间慢
- 差异备份
- 跳跃恢复 占空间介于完整与增量之间,恢复是只需要恢复第一个完整备份和最后一次差异版本,恢复时间介于完整与增量之间
percona-xtrabackup80-centos9
### 安装yumcangku
- 1.通过以用户身份或使用 sudo 运行以下命令来安装 Percona yum 存储库:root
yum install -y
https://repo.percona.com/yum/percona-release-latest.noarch.rpm
启用存储库:percona-release enable-only tools release
通过运行以下命令安装 Percona XtraBackup:
yum install percona-xtrabackup-82
- 2.先下载rpm包到本机再安装
wget https://repo.percona.com/yum/percona-release-latest.noarch.rpm yum -y install percona-release-latest.noarch.rpm
- [root@localhost tmp]# yum repolist
- [root@localhost tmp]# yum repolist
repo id repo name
Appstream CentOS Stream 9 - AppStream
BaseOS CentOS Stream 9 - BaseOS
appstream CentOS Stream 9 - AppStream
baseos CentOS Stream 9 - BaseOS
extras-common CentOS Stream 9 - Extras packages
mysql-connectors-community MySQL Connectors Community
mysql-tools-community MySQL Tools Community
mysql80-community MySQL 8.0 Community Server
prel-release-noarch Percona Release release/noarch YUM repository
tools-release-x86_64 Percona Tools release/x86_64 YUM repository
### 全备
- [root@localhost tmp]# mkdir -p /data/backup/base/
- [root@localhost tmp]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/base/ -uroot -pWanlele@123 -H localhost -P 3306 --no-server-version-check
### 恢复
- 首先停止MySQL
[root@localhost tmp]# systemctl stop mysqld
删除 /var/lib/mysql/* 下的所有文件[root@localhost tmp]# rm -rf /var/lib/mysql/*
- [root@localhost tmp]# xtrabackup --prepare --target-dir=/data/backup/base
- [root@localhost tmp]# xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base
- [root@localhost tmp]# chown -R mysql.mysql /var/lib/mysql
[root@localhost tmp]# chown -R777 /var/lib/mysql
### 增备1,2
- [root@localhost ~]# mkdir /data/backup/inc1
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir-/data/backup/inc1 --incremental-basedir=/data/backup/base/ -uroot -pWanlele@123 -H localhost -P 3306 --no-server-version-check
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/backup/inc2/ --incremental-basedir=/data/backup/inc1/ -uroot -pWanlele@123 -H localhost -P 3306 --no-server-version-check
- [root@localhost ~]# ls /data/backup
base inc1 inc2
### 恢复增量备份
- 注意哦恢复最后一次增量备份时 命令行中不加--apply-log-only
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base/
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc1/
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc2/
### 恢复到数据目录
- 先停止数据库并清空数据库目录
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/base
- [root@localhost ~]# chown -R mysql.mysql /var/lib/mysql
- [root@localhost ~]# chown -R mysql.mysql /var/lib/mysql
### 压缩备份
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --backup --compress --target-dir=/data/backup/compressed/ -uroot -pWanlele@123 -H localhost -P 3306 --no-server-version-check
### 解压缩
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --decompress --target-dir=/data/backup/compressed/
- 注释
- --parallel可与--decompress选项一起使用可同时解压多个文件
- 需要解压工具qpress
- 1.从Percona 存储库安装Percona XtraBackup Yum(推荐)
通过以root用户或sudo运行以下命令来安装Percona yum存储库 :
[root@_mongodb_116 data]# yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
启用存储库:
[root@_mongodb_116 data]# percona-release enable-only tools release
* Disabling all Percona Repositories
* Enabling the Percona Tools repository
<*> All done!
如果Percona XtraBackup打算与MySQL服务器结合使用,您只需要启用tools 存储库:
[root@_mongodb_116 data]# percona-release enable-only tools
运行以下命令安装Percona XtraBackup:
[root@_mongodb_116 data]# yum install -y percona-xtrabackup-80 #安装8.0版本
[root@_mongodb_116 data]# yum install -y percona-xtrabackup-24 #安装2.4版本
- [root@localhost ~]# xtrabackup --prepare --target-dir=/data/backup/compressed
- [root@localhost ~]# xtrabackup --defaults-file=/etc/my.cnf --copy-back --target-dir=/data/backup/compressed
- [root@localhost ~]# chown -R mysql.mysql /var/lib/mysql/