【笔记】使用XtraBackup进行热备份

备份环境:

  1. 具备docker
  2. mysql8+(5.7及以下版本更换xtrabackup版本即可,具体版本号查看官网)
  3. 将云盘挂载到服务器上,可以使用s3协议
#!/bin/bash# 目录配置部分
HOST_BACKUP_DIR="/root/docker/mysql8/backup/full" # 宿主机备份目录
HOST_LOG_DIR="/root/docker/mysql8/backup/logs"    # 宿主机日志目录
HOST_MYSQL_DATA_DIR="/root/docker/mysql8/data"    # 宿主机MySQL 数据目录
CLOUD_BACKUP_DIR="/mnt/qn-iptudou-backup"         # 云盘备份目录# mysql连接配置
MYSQL_HOST="127.0.0.1"
MYSQL_PORT="3306"
MYSQL_USER="root"
MYSQL_PWD="12345678"# docker容器内的目录配置,可以不修改
DATETIME=$(date +'%Y%m%d%H%M%S')                  # 当前日期
MYSQL_DATA_DIR="/var/lib/mysql"                   # MySQL 数据目录
BACKUP_DIR="/backup/full"                         # 备份存储目录
LOG_FILE="$HOST_LOG_DIR/backup-$DATETIME.log"     # 日志文件# 创建备份目录
mkdir -p $HOST_MYSQL_DATA_DIR
mkdir -p $HOST_LOG_DIR
mkdir -p $HOST_BACKUP_DIRecho "[$(date +'%F %T')] 开始全量备份" >> $LOG_FILE
docker rm pxback-full >> $LOG_FILE 2>&1
docker run --name pxback-full -v $HOST_MYSQL_DATA_DIR:$MYSQL_DATA_DIR -v $HOST_BACKUP_DIR:$BACKUP_DIR -it --user root percona/percona-xtrabackup:8.0.34 /bin/bash -c "xtrabackup --backup --datadir=$MYSQL_DATA_DIR --target-dir=$BACKUP_DIR/$DATETIME --host=$MYSQL_HOST --port=$MYSQL_PORT --user=$MYSQL_USER --password=$MYSQL_PWD --compress" >> $LOG_FILE 2>&1
if [ $? -eq 0 ]; thencd $HOST_BACKUP_DIRtar -czvf full-$DATETIME.tar.gz $DATETIME  >> $LOG_FILE 2>&1rm -rf $HOST_BACKUP_DIR/$DATETIME  >> $LOG_FILE 2>&1echo "[$(date +'%F %T')] 将备份移入云盘" >> $LOG_FILEcp full-$DATETIME.tar.gz $CLOUD_BACKUP_DIRrm -f full-$DATETIME.tar.gzecho "[$(date +'%F %T')] 删除7天前的备份" >> $LOG_FILEfind $CLOUD_BACKUP_DIR -type f -mtime +7 -exec rm -f {} \;echo "[$(date +'%F %T')] 全量备份成功" >> $LOG_FILE
elseecho "[$(date +'%F %T')] Full backup failed" >> $LOG_FILEexit 1
fi

使用linux的定时任务每天凌晨进行备份
crontab -e进入定时任务编辑
在尾部换行追加定时任务
0 0 * * * sh /root/docker/mysql8/db-backup.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/20105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

结构体(C保姆级讲解)

前言: 为什么会有结构体,结构体可以用来面熟一个复杂对象,我们知道C语言中有哪些数据类型,有整型,有浮点型,有字符型,但是在生活中,我们需要描述一些比较复杂的东西,比如…

如何理解央行买卖国债?

浙商证券覃汉认为,央行对长债的风险持续关注,30年国债收益率较难突破2.5%,区间底部已经多次印证,在学习效应影响下,长端利率预计继续以震荡调整为主。 1、央行买卖国债的政策要求、历史经验、优势 2023年中央金融工作…

语音助手拦截,拦截小秘书

呼叫中心业务场景下会遇到很多的语音助手和语音小秘书,还有一些漏话提醒、语音信箱等;大部分原因是由于主叫号码标记问题导致的局端和终端拦截策略,电话没有真实有效的触达并产生了通信费,这让很多业务场景下通信成本上涨据不完全…

常用中间件各版本下载

常用中间件下载地址 前言分布式中间件负载均衡中间件缓存中间件数据库中间件其他中间件1、Maven下载地址2、Git下载地址2、JDK下载地址3、MySQL下载地址4、Redis下载地址5、Nacos下载地址6、Tomcat下载地址7、Nginx下载地址8、RocketMQ下载地址8、RabbitMQ下载地址8、Erlang下载…

【Redis】常见的 Redis 集群方案

Redis 集群用于在多个 Redis 节点之间分布数据,以提高可用性和扩展性。常见的 Redis 集群方案有以下几种: 1. 哨兵 (Sentinel) Sentinel 是一种高可用解决方案,用于监控 Redis 主从复制的实例并在主节点发生故障时进行自动故障转移。 优点…

Amazon云计算AWS(三)

目录 五、关系数据库服务RDS(一)RDS的基本原理(二)RDS的使用 六、简单队列服务SQS(一)SQS的基本模型(二)SQS的消息 七、内容推送服务CloudFront(一)CDN&#…

【硬件工程师话家常】新人硬件工程师,工作中遇到的问题list

新人硬件工程师能够通过面试,已经证明是能够胜任硬件工程师职责,当然胜任的时间会延迟,而不是当下,为什么呢?因为学校学习和公司做产品,两者之间有差异,会需要适应期。今天来看看新人硬件工程师…

Python之Mammoth库的详解和使用

Mammoth 旨在转换 .docx 文档(例如由 Microsoft Word、Google Docs 和 LibreOffice 创建的文档)并将其转换为 HTML。Mammoth 旨在通过使用文档中的语义信息并忽略其他细节来生成简单干净的 HTML。例如,Mammoth 将任何具有样式的段落转换Headi…

Vue3-路由详解

文章目录 路由对路由的理解安装 Vue Router基本切换效果两个注意点路由器工作模式to的两种写法命名路由嵌套路由路由传参query参数params参数 路由的props配置replace属性编程式导航重定向 更多相关内容可查看 路由 附git地址:https://gitee.com/its-a-little-bad/…

C前端与Web前端:深入解析二者之间的区别

C前端与Web前端:深入解析二者之间的区别 在编程领域中,C前端与Web前端常常被提及,但这两者之间究竟有何不同?本文将通过四个方面、五个方面、六个方面和七个方面,深入剖析C前端与Web前端之间的区别,帮助读…

项目纪实 | 版本升级操作get!GreatDB分布式升级过程详解

某客户项目现场,因其业务系统要用到数据库新版本中的功能特性,因此考虑升级现有数据库版本。在升级之前,万里数据库项目团队帮助客户在本地测试环境构造了相同的基础版本,导入部分生产数据,尽量复刻生产环境进行升级&a…

电脑缺少运行库,无法启动程序

在我们使用一些软件的时候,由于电脑缺少一些运行库,导致无法启动应用软件,此时需要我们安装缺少的运行库。 比如当电脑提示: Cannot load library Qt5Xlsx.dll 我们就需要下载C得运行库,以满足软件运行需要。 下载链…

某三甲医院智能化系统建设项目施工组织设计(516页)

第十四节、ICU重症监护探视系统设计方案 1、系统总体概述 某市市第一人民医院为一个集医疗、研究、医学教学为一体现代化医院建筑群,不仅在医学界的学术地位和声誉,还应拥有赋予人性的医疗环境,为病人创造最舒适的医疗条件。 探视系统帮助…

如何查看谁连接到了你的Wi-Fi网络?这里提供几种方法或工具

序言 你知道谁连接到你路由器的Wi-Fi网络吗?查看从路由器或计算机连接到Wi-Fi网络的设备列表,找出答案。 请记住,现在很多设备都可以连接到了你的Wi-Fi,该名单包括笔记本电脑、智能手机、平板电脑、智能电视、机顶盒、游戏机、Wi-Fi打印机等。 使用GlassWire Pro查看连接…

chatMed开发日志博客(持续更新中)

目录 1. 项目概述 2. 开发人员团队 3. 大致需求 4. 开发内容 4.1. 前端开发 4.1.1: 前端页面开发 4.1.2: 登录机制以及路由守卫的开发 4.1.3: 文件上传机制和保存机制 4.1.4: 消息传递机制 4.2. 线程池开发 4.3. 在线调试 1. 项目概述 搭建一个基于深度学习的分析平台…

在vue3项目中使用el-tabs切换标签页时echarts图表显示不正确

一.ElementPlus中使用el-tabs el-tabs标签页是用来分隔内容上有关联但是属于不同类别的数据集合。Tabs组件提供了选项卡功能,默认选中第一个标签页,也可以通过value属性来指定当前选中的标签页.此外,el-tabs还提供了tab-click方法&#xff0c…

SpringBoot 七牛云 OSS 私有模式 获取访问链接

目录 一、问题引出 二、在SpringBoot中获取私有访问路径的操作 一、问题引出 由于七牛云OSS的公有模式存在被盗刷的风险,可能导致服务器额外的费用,于是我选择私有模式进行操作。私有模式的访问路径是一个问题,因为需要对应着token和e这两…

Linux系统监控

文章目录 一、系统监控基本介绍二、内存监控2.1、内存监控字段解析2.2、windows下查看内存2.2.1、通过cmd中命令查看内存条信息:2.2.2、通过cmd中命令查看物理内存信息:2.2.3、使用任务管理器查看内存2.2.4、使用资源监视器查看内存2.2.5、使用系统信息工…

apscheduler定时任务报错

最近使用的定时任务遇到了2个问题,简单记录一下 Run time of job xxxx was missed! 我用的是BackgroundScheduler,创建的任务进jobstore调度,然后executor执行。executor是用多线程执行job的,这个报错就是说这个任务的执行时间到…

【Springboot】——项目的创建与请求参数应用

💻博主现有专栏: C51单片机(STC89C516),c语言,c,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux&#xf…