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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【MySQL】两个脚本自动化搞定 MySQL 备份恢复--XtraBackup

简介

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

备份脚本: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

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

声明

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


相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
153 10
|
7月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
2月前
|
传感器 人工智能 JavaScript
Playwright实战:写UI自动化脚本,速度直接起飞
简介: 测试工程师老王因UI自动化问题深夜奋战,反映出传统测试工具的局限性。微软开源的Playwright凭借智能等待、跨域操作、移动端模拟与网络拦截等强大功能,正迅速取代Selenium,成为新一代自动化测试标准。其稳定高效的设计显著降低维护成本,助力企业构建高质量测试流程。
|
4月前
|
机器学习/深度学习 Kubernetes 监控
Kubernetes 节点故障自愈方案:结合 Node Problem Detector 与自动化脚本
本文深入探讨了Kubernetes节点故障自愈方案,结合Node Problem Detector(NPD)与自动化脚本,提供技术细节、完整代码示例及实战验证。文章分析了硬件、系统和内核层面的典型故障场景,指出现有监控体系的局限性,并提出基于NPD的实时事件捕获与自动化诊断树的改进方案。通过深度集成NPD、设计自动化修复引擎以及展示内核死锁恢复的实战案例,文章详细说明了自愈流程的实现步骤与性能优势。此外,还提供了生产环境部署指南、高可用架构设计及安全防护措施,并展望了机器学习增强故障预测和混沌工程验证的进阶优化方向。全文约1.2万字,适合希望提升Kubernetes集群稳定性的技术人员阅读。
141 1
|
5月前
|
关系型数据库 MySQL Linux
实现MySQL数据库的定时自动备份脚本。
拿走,不谢,这个脚本配方(指引)保证你的数据库数据像蛋糕店一样地天天更新,还能确保老旧的蛋糕(数据)不会堆积满仓库。这下可好,数据安全有保障,数据库管理员也能轻松一点,偶尔闲下来的时候,煮杯咖啡,看个剧岂不美哉?别忘了偶尔检查一下你的自动备份是否正常工作,以防万一蛋糕机器出了点小差错。
254 20
|
11月前
|
数据采集 监控 数据挖掘
Python自动化脚本:高效办公新助手###
本文将带你走进Python自动化脚本的奇妙世界,探索其在提升办公效率中的强大潜力。随着信息技术的飞速发展,重复性工作逐渐被自动化工具取代。Python作为一门简洁而强大的编程语言,凭借其丰富的库支持和易学易用的特点,成为编写自动化脚本的首选。无论是数据处理、文件管理还是网页爬虫,Python都能游刃有余地完成任务,极大地减轻了人工操作的负担。接下来,让我们一起领略Python自动化脚本的魅力,开启高效办公的新篇章。 ###
|
10月前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
811 61
自动化微信朋友圈:Python脚本实现自动发布动态
|
7月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
9月前
|
Web App开发 人工智能 JSON
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
AutoMouser是一款Chrome扩展程序,能够实时跟踪用户交互行为,并基于OpenAI的GPT模型自动生成Selenium测试代码,简化自动化测试流程。
533 17
AutoMouser:AI Chrome扩展程序,实时跟踪用户的浏览器操作,自动生成自动化操作脚本
|
9月前
|
Web App开发 数据采集 JavaScript
Chrome浏览器实例的TypeScript自动化脚本
Chrome浏览器实例的TypeScript自动化脚本