开源数据库 - mysql - xtrabackup工具进行备份

下载xtrabackup
Software Downloads - Percona
选择对应系统和mysql版本的xtrabackup工具

使用xtrabackup备份

全量备份

首先查看是否存在损坏的重做日志:(这一步没有做的话,xtrabackup会出现报错)

SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE TOTAL_ROW_VERSIONS > 0;

Percona XtraBackup 8.0.29和INSTANT ADD/DROP Columns - abce - 博客园 (cnblogs.com)
修复上述查询出现的表:

OPTIMIZE TABLE tablename;

全部修复之后使用xtrabackup进行备份
首先创建一个备份目录backup,在backup目录下创建 全量备份目录 base,增量备份目录inc.

开始进行全量备份

./xtrabackup --backup --target-dir=/backup/base >> /backup/base/backup_full_history_$(date +"%Y-%m-%d").log

对全量备份文件进行prepare处理,原因如下:If you try to start InnoDB with these data files, it will detect corruption and stop working to avoid running on damaged data. The step makes the files perfectly consistent at a single instant in time, so you can run InnoDB on them.--prepare

./xtrabackup --prepare --target-dir=/backup/base

此时如果需要使用该备份文件进行数据库恢复,则使用如下命令:

xtrabackup --copy-back --target-dir=/backup/base

增量备份

首先查看是否存在损坏的重做日志:(这一步没有做的话,xtrabackup会出现报错)

SELECT NAME FROM INFORMATION_SCHEMA.INNODB_TABLES WHERE TOTAL_ROW_VERSIONS > 0;

修复上述查询出现的表:

OPTIMIZE TABLE tablename;

全部修复之后使用xtrabackup进行备份

开始进行增量备份(增量备份的前提是存在一份全量备份)

./xtrabackup --backup --incremental-basedir=/backup/base --target-dir=/backup/inc >> /backup/inc/backup_inc_history_$(date +"%Y-%m-%d").log

如果需要在上次的增量备份基础上再次进行增量备份,需要将--incremental-basedir改为上次增量备份目录

./xtrabackup --backup --incremental-basedir=/backup/inc --target-dir=/backup/inc2 >> /backup/inc/backup_inc_history_$(date +"%Y-%m-%d").log

对增量备份文件进行prepare处理,xtrabackup会将增量备份加入全量备份中:

./xtrabackup --prepare --apply-log-only --target-dir=/data/backups/base \
--incremental-dir=/data/backups/inc1

这里注意:如果存在多个增量备份话,恢复时则需要将所有增量备份依次加入全量备份中

使用备份恢复

采用xtrabackup

为方便起见,xtrabackup 二进制文件可以选择将备份复制到服务器的 datadir

xtrabackup --copy-back --target-dir=/backup/base

其他方法

见恢复完整、增量、压缩的备份 - Percona XtraBackup

参考资料

percona官方文档
个人实践

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

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

相关文章

计算机毕业设计Python+大模型斗鱼直播可视化 直播预测 直播爬虫 直播数据分析 直播大数据 大数据毕业设计 机器学习 深度学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

【Vue】Vue3.0(二十)Vue 3.0 中mitt的使用示例

上篇文章 【Vue】Vue3.0(十九)Vue 3.0 中一种组件间通信方式-自定义事件 🏡作者主页:点击! 🤖Vue专栏:点击! ⏰️创作时间:2024年11月11日12点23分 文章目录 一、mitt 在…

显示器接口种类 | 附图片

显示器接口类型主要包括VGA、DVI、HDMI、DP和USB Type-C等。 VGA、DVI、HDMI、DP和USB Type-C 1. 观察 VGA接口:15针 DP接口:在DP接口旁,都有一个“D”型的标志。 电脑主机:DP(D) 显示器:VGA(15针) Ref https://cloud.tenc…

什么是数据平台?10 个值得了解的大数据平台示例

目前尚不清楚普通的 “数据” 是何时变成了 “大数据”。后一个术语可能起源于 20 世纪 90 年代的硅谷推介会和午餐室。更容易确定的是数据在 21 世纪是如何爆炸式增长的(据估计,到 2025 年,人类每天将产生 463 EB的数据)&#xf…

2024最新版JavaScript逆向爬虫教程-------基础篇之Chrome开发者工具学习

目录 一、打开Chrome DevTools的三种方式二、Elements元素面板三、Console控制台面板四、Sources面板五、Network面板六、Application面板七、逆向调试技巧7.1 善用搜索7.2 查看请求调用堆栈7.3 XHR 请求断点7.4 Console 插桩7.5 堆内存函数调用7.6 复制Console面板输出 工欲善…

Local Dimming和Mini LED简介

文章目录 Local Dimming和Mini LED的介绍区别和联系联系区别总结 Local Dimming和Mini LED的介绍 电视显示技术中的Local Dimming和Mini LED都是用于提升画面质量的背光技术,主要目的是增强对比度和改善黑色表现。以下是对它们的详细介绍: Local Dimmin…

VSCode中python插件安装后无法调试

问题 VSCode中python插件安装后无法调试,如下,点击调试,VScode中不报错,也没有调试 解决方法 1、查看配置 打开所在路径 2、拷贝 将整个文件夹拷贝到vscode默认路径下 3、问题解决 再次调试,可以正常使用了…

前端知识点---选择输入框confirm(Javascript)

文章目录 1. 基本用法2. 功能特点①阻塞行为:confirm 对话框会阻塞脚本的执行,直到用户作出选择。②简单交互:主要用于简单的确认操作,不支持自定义样式或多种交互。③ 示例 3 注意事项4 常见用途 1. 基本用法 let result confi…

android studio 配置过程

Android studio版本:Android Studio Ladybug | 2024.2.1 windows 10 x64 关键问题解决方法: 1.设置代理: 退出首次配置,进入ide(必要时新建工程)然后: 然后重启ide 等待下载完成。 代理地…

[Docker#4] 镜像仓库 | 部分常用命令

目录 什么是 Docker Registry 镜像仓库生活案例 镜像仓库分类 镜像仓库工作机制 常用的镜像仓库 私有仓库 镜像仓库命令 镜像命令[部分] 容器命令[部分] 什么是 Docker Registry 定义:Docker Registry 负责存储、管理和分发镜像,并提供了登录认…

【数据结构】线性表——链表

写在前面 本篇笔记记录线性表——链表的主要形式,虽然链表有8种形式,但是只要精通笔记中编写的两种,即可触类旁通。 文章目录 写在前面一、链表的概念及结构二、链表的分类三、无头单向非循环链表3.1、链表的实现3.1.1、链表的结构体定义3.1…

android studio导入OpenCv并改造成.kts版本

1.下载opencv Android版本 2.解压导入android studio,我这里是先导入低版本的,还是gradle,直接导入module,我这里是4.2.0的版本 我的as版本是Android Studio Electric Eel 2022.1.1 Patch 2,我导入直接就能用 //load OpenCV engine and init OpenCV library //这里放在oncreat…

大模型开发整体流程 基于个人知识库的问答助手 项目流程架构解析

一、大模型开发整体流程 1. 何为大模型开发 定义核心点核心能力 2. 大模型开发的整体流程 1. 设计2. 架构搭建3. Prompt Engineering4. 验证迭代5. 前后端搭建 二、项目流程简析 步骤一:项目规划与需求分析 1.项目目标2.核心功能3.确定技术架构和工具 步骤二&#…

超详细:三大范式和反范式设计详解

目录 1、三大范式 第一范式: 列不可再分 。 第二范式: 行可以唯一区分 第三范式:确保数据的完整性、减少数据冗余和避免更新异常。 反方式模式 实验数据:模拟两张百万量级的数据表 反范式优化实验对比 反范式存在的问题 &am…

Python 实现阿里滑块全攻略

阿里划块技术为开发者提供了高精度的视觉分割能力,而 Python 作为一种简洁高效的编程语言,可以轻松调用阿里划块接口,实现各种场景下的图像分割需求。 Python 调用阿里云分割抠图 - 商品分割接口的步骤如下:首先,开通…

尤雨溪都点赞的测试工具,你还不用?

尤雨溪都点赞的测试工具,你还不用? 想要一个跨浏览器兼容、无闪退的测试体验?Playwright来了!它不仅支持主流浏览器自动化,还能轻松跨平台,让你轻松构建可靠的端到端测试。本文带你了解Playwright的功能亮点…

「IDE」VS2022插件 Visual Assist X 番茄助手介绍说明

✨博客主页何曾参静谧的博客📌文章专栏「IDE」集成开发环境📚全部专栏「Win」Windows程序设计「IDE」集成开发环境「UG/NX」BlockUI集合「C/C++」C/C++程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「UG/NX」NX定制开发「Py」Py

qt QFrame详解

1、概述 QFrame是Qt框架中用于提供框架或边框的控件,主要用于在图形用户界面(GUI)中创建框架,并提供各种边框样式和功能。它是Qt中一个基础的容器类,也是许多基础控件的基类,可以被QLCDNumber、QToolBox、…

数据重塑:长宽数据转换【基于tidyr】

在数据分析和可视化过程中,数据的组织形式直接影响着我们能够进行的分析类型和可视化效果。这里简单介绍两种常见的数据格式:长格式(Long Format)和宽格式(Wide Format),以及如何使用tidyr包进行…

【网络】应用层——HTTP协议

> 作者:დ旧言~ > 座右铭:松树千年终是朽,槿花一日自为荣。 > 目标:了解什么是HTTP协议。 > 毒鸡汤:有些事情,总是不明白,所以我不会坚持。早安! > 专栏选自:网络 &g…