【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup

简介

此项目基于两个脚本实现,pxb_auto_backup.sh 脚本基于 XtraBackup 实现了 MySQL 的自动化备份,可选择全备和增备。pxb_auto_recovery.sh 脚本实现了基于 pxb_auto_backup.sh 脚本的自动化恢复,并能够通过微信和企业微信对执行的状态进行通知。

d3e99af19a60483ead9509febb796849

备份脚本:MySQL 自动备份

介绍

pxb_auto_backup.sh 脚本基于 XtraBackup 实现了 MySQL 的自动化备份,可根据自身需求选择本地、远程、增备、全备的多种方式相结合的备份方式,并通过 pv 工具实现远程传输的流量控制。基于企业微信机器人实现了备份信息的通知。

功能

  • 本地全备

  • 本地增备

  • 远程全备

  • 远程增备

  • 传输限速

  • 微信通知

  • 备份定期清理

  • 日志定期清理

  • 并行备份

  • 并行压缩

  • 长查询 kill

限制

  • 仅在 centos 7 上进行了测试

  • 仅适用 MySQL 5.7 及以下版本

  • 需要安装 XtraBackup2.4

  • 需要安装 pv

  • 需要安装 mysql

使用说明

在进行备份时,如果从库开启了多线程复制 slave_parallel_workers 参数,为了避免死锁等多线程导致的问题,导致备份失败,会在备份期间修改为单线程复制。

如果主从负载压力较大并且从库作为读写分离的实例,请谨慎使用此脚本,避免主从延迟影响线上环境。

增量备份是基于每周的一次全备进行的,例如周一有一个全备,增备都会基于周一的全备做增备,恢复时,只需要恢复全备和需要那天的增备即可。

使用方法

安装 XtraBackup\pv\qpress
yum install -y  https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install qpress pv percona-xtrabackup-24.x86_64
使用脚本

pxb_auto_backup.sh

# 安装格式转换工具
yum install -y dos2unix

# 下载脚本
curl -o pxb_auto_backup.sh https://gitee.com/hh688/pxb_backup/raw/master/pxb_auto_backup.sh

# 转化格式
dos2unix pxb_auto_backup.sh

# 添加权限
chmod 700 pxb_auto_backup.sh

# 修改参数定义
vim  pxb_auto_backup.sh  # 根据自身情况修改脚本内容

# 运行脚本
sh pxb_auto_backup.sh

# 后台运行
nohup sh pxb_auto_backup.sh &  # 后台运行适用于数据量大的情况

# 添加至定时任务可作为定时备份

恢复脚本:MySQL 自动恢复

介绍

pxb_auto_recovery.sh 脚本实现了基于 pxb_auto_backup.sh 脚本的自动化恢复,并能够通过微信和企业微信对执行的状态进行通知。

功能

  • 全备恢复

  • 增备恢复

  • 微信通知

  • 备份定期清理

  • 日志定期清理

  • 并行恢复

  • 并行解压

  • 磁盘空间提示

限制

  • 仅在 centos 7 上进行了测试

  • 仅适用MySQL 5.7 及以下版本

  • 需要安装 XtraBackup2.4

使用说明

增量备份是基于每周的一次全备进行的,例如周一有一个全备,增备都会基于周一的全备做增备,恢复时,只需要恢复全备和需要那天的增备即可。

使用前请保证服务器有充足的磁盘空间

使用方法

安装 XtraBackup
yum install -y  https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum -y install qpress pv percona-xtrabackup-24.x86_64
使用脚本

pxb_auto_recovery.sh

# 安装格式转换工具
yum install -y dos2unix

# 下载脚本
curl -o pxb_auto_backup.sh https://gitee.com/hh688/pxb_backup/raw/master/pxb_auto_recovery.sh

# 转化格式
dos2unix pxb_auto_recovery.sh

# 添加权限
chmod 700 pxb_auto_recovery.sh

# 修改参数定义
vim  pxb_auto_recovery.sh  # 根据自身情况修改脚本内容

# 运行脚本
sh pxb_auto_recovery.sh

# 后台运行
nohup sh pxb_auto_recovery.sh &  # 后台运行适用于数据量大的情况

配置微信报警

没有公司企业微信的高权限账号时,可以用自己的手机号创建个企业进行以下操作。

创建企业微信群机器人

https://blog.csdn.net/songjuntao8/article/details/127098226

这里获取的 webhook 地址写入脚本即可

微信内显示通知

想在微信内显示需要根据以下链接文档操作

https://blog.csdn.net/liaotianbao/article/details/121156978

使用微信扫描企业微信的微信插件码即可

声明

以上内容仅供学习交流,使用前请自行验证。

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值