# 数据库备份管理

 关于备份

        备份原因

        备份目标

                - 数据一致性
                - 服务可用性

        备份技术

                - 物理备份/冷备份

                            - 直接复制数据文件,适用于 大型数据库环境,不受存储引擎限制,但不能恢复到不同的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/

  • 36
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值