【MySQL备份】Percona XtraBackup基础篇

目录

1.关于Percona XtraBackup

2. Percona XtraBackup有哪些特点?

3.安装Percona XtraBackup

3.1.环境信息

3.2.安装步骤 

 4. xtrabackup内部流程图

5.Percona XtraBackup基础语法

5.1.全量备份

5.2.增量备份

5.2.1.基于全量备份的增量备份

5.2.2.基于前一个增量备份的增量备份

5.2.3.备份准备

5.3.数据恢复

6.总结 


1.关于Percona XtraBackup

Percona XtraBackup是世界上唯一的开源、免费的MySQL热备份 为InnoDB和XtraDB执行非阻塞备份的软件 数据库。使用Percona XtraBackup,您可以获得以下好处:

  • 快速可靠地完成备份

  • 备份期间不中断的事务处理

  • 节省磁盘空间和网络带宽

  • 自动备份验证

  • 更快的恢复时间导致更高的延迟

2. Percona XtraBackup有哪些特点?

以下是Percona XtraBackup功能的简短列表。

  • 创建热InnoDB备份而无需暂停数据库

  • 对MySQL进行增量备份

  • 将压缩的MySQL备份流式传输到另一台服务器

  • 在线在MySQL服务器之间移动表

  • 轻松创建新的MySQL复制副本

  • 备份MySQL而不增加服务器负载

  • 备份锁是Percona Server 5.6+中可用的FLUSH TABLES WITH READ LOCK的轻量级替代方案。Percona XtraBackup使用它们自动复制非InnoDB数据,以避免阻塞修改InnoDB表的DML查询。

  • Percona XtraBackup根据每秒IO操作数执行限制。

  • Percona XtraBackup跳过辅助索引页,并在准备紧凑备份时重新创建它们。

  • Percona XtraBackup甚至可以从完整备份中导出单个表,无论InnoDB版本如何。

  • 使用Percona XtraBackup导出的表可以导入Percona Server 5.1、5.5或5.6+或MySQL 5.6+。

3.安装Percona XtraBackup

3.1.环境信息

主机IP操作系统Mysql版本XtraBackup版本
172.17.0.2CentOS Stream release 98.0.378.0.35

3.2.安装步骤 

Percona XtraBackup的安装方法有三中YUM仓库安装,RPM包安装,源码编译安装,下面介绍到的是YUM仓库安装

  1. root用户身份或使用sudo运行以下命令来安装Percona yum仓库:

    sudo yum install \
    https://repo.percona.com/yum/percona-release-latest.\
    noarch.rpm
  2. 启用存储库:

    sudo percona-release enable-only tools release

    如果Percona XtraBackup预期与 上游MySQL服务器,只需要开启`tools仓库:

    sudo percona-release enable-only tools
  3. 通过运行以下命令安装Percona XtraBackup:

    sudo yum install percona-xtrabackup-80

    警告:

    在CentOS 6上安装Percona XtraBackup之前,请确保安装了libev软件包。对于此操作系统,可以从EPEL存储库中获得libev包。

  4. 要对使用LZ4ZSTD压缩算法进行的备份进行重新编译,请安装相应的软件包:

    sudo yum install zstd

 4. xtrabackup内部流程图

5.Percona XtraBackup基础语法

Percona XtraBackup 提供了一系列丰富的命令行选项来执行MySQL和Percona Server的热备份操作。以下是一些基本和常用的语法示例,涵盖了全量备份、增量备份、备份准备和恢复等操作:

5.1.全量备份

xtrabackup --backup --user=root --password=<your_password> \ 2 --host=<hostname_or_ip> --port=<port_number> \ 3 --target-dir=<backup_directory>
  • --backup 表示执行备份操作。
  • --user 和 --password 分别指定MySQL的用户名和密码。
  • --host 和 --port 指定MySQL服务器的地址和端口。
  • --target-dir 指定备份文件存放的目录。

5.2.增量备份

5.2.1.基于全量备份的增量备份

xtrabackup --backup --incremental-basedir=<full_backup_directory> \ 2 --target-dir=<incremental_backup_directory> \ 3 --user=root --password=<your_password> \ 4 --host=<hostname_or_ip> --port=<port_number>
  • --incremental-basedir 指定增量备份基于的全量备份目录。

5.2.2.基于前一个增量备份的增量备份

xtrabackup --backup --incremental-basedir=<previous_incremental_backup_directory> \ 2 --target-dir=<new_incremental_backup_directory> \ 3 --user=root --password=<your_password> \ 4 --host=<hostname_or_ip> --port=<port_number>

5.2.3.备份准备

对于全量备份,执行以下命令准备数据以便恢复:

xtrabackup --prepare --apply-log-only --target-dir=<backup_directory>

对于增量备份链,需要先对全量备份进行准备,然后依次对每个增量备份执行准备操作,最终对整个链进行最终的准备:

xtrabackup --prepare --apply-log-only --target-dir=<prepared_full_backup_directory> \ 2 --incremental-dir=<incremental_backup_directory>

5.3.数据恢复

将准备好的备份数据恢复到MySQL数据目录:

# 先停止MySQL服务
sudo systemctl stop mysql

# 将备份数据复制到MySQL数据目录(示例使用全量备份)
rsync -avP <prepared_backup_directory>/ /var/lib/mysql/

# 调整文件权限和属主
chown -R mysql:mysql /var/lib/mysql/

# 启动MySQL服务
sudo systemctl start mysql

6.总结 

本篇文章介绍了Percona XtraBackup工具的安装、使用以及原理,后面会发布Percona XtraBackup的实战篇

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

超越所有SOTA达11%!媲美全监督方法 | UC伯克利开源UnSAM

文章链接&#xff1a;https://arxiv.org/pdf/2406.20081 github链接&#xff1a;https://github.com/frank-xwang/UnSAM SAM 代表了计算机视觉领域&#xff0c;特别是图像分割领域的重大进步。对于需要详细分析和理解复杂视觉场景(如自动驾驶、医学成像和环境监控)的应用特别有…

深入解读OkHttp3中的Request5

OkHttp 是由 Square 开发的一个高效的 HTTP 客户端库&#xff0c;广泛应用于 Android 开发中。作为资深安卓开发工程师&#xff0c;我们经常需要与网络通信打交道&#xff0c;而 OkHttp 提供了一个简洁而强大的 API 来处理这些通信。在这篇文章中&#xff0c;我们将深入探讨 Ok…

python自动化运维--DNS处理模块dnspython

1.dnspython介绍 dnspython是Pyhton实现的一个DNS工具包&#xff0c;他几乎支持所有的记录类型&#xff0c;可以用于查询、传输并动态更新ZONE信息&#xff0c;同事支持TSIG&#xff08;事物签名&#xff09;验证消息和EDNS0&#xff08;扩展DNS&#xff09;。在系统管理方面&a…

EVE-NG网络仿真平台搭建

现在目前实验都是使用华为的Ensp模拟器&#xff0c;但是有时候一些功能模拟器无法实现&#xff0c;要不就是使用真机进行实验&#xff0c;第二个就是换个支持相关命令的模拟器了&#xff0c;今天来简单学习下EVE-NG这个模拟器。 一、EVE-NG简介 EVE-NG&#xff08;Emulated Vir…

【深度学习】注意力机制

https://blog.csdn.net/weixin_43334693/article/details/130189238 https://blog.csdn.net/weixin_47936614/article/details/130466448 https://blog.csdn.net/qq_51320133/article/details/138305880 注意力机制&#xff1a;在处理信息的时候&#xff0c;会将注意力放在需要…

HarmonyOS开发实战:UDP通讯示例规范

1. UDP简介 UDP协议是传输层协议的一种&#xff0c;它不需要建立连接&#xff0c;是不可靠、无序的&#xff0c;相对于TCP协议报文更简单&#xff0c;在特定场景下有更高的数据传输效率&#xff0c;在现代的网络通讯中有广泛的应用&#xff0c;以最新的HTTP/3为例&#xff0c;…

2024年6月29日 (周六) 叶子游戏新闻

老板键工具来唤去: 它可以为常用程序自定义快捷键&#xff0c;实现一键唤起、一键隐藏的 Windows 工具&#xff0c;并且支持窗口动态绑定快捷键&#xff08;无需设置自动实现&#xff09;。 喜马拉雅下载工具: 字面意思 《星刃》性感女主私密部位细节逼真 让玩家感到惊讶《星刃…

探索NVIDIA A100 显卡 如何手搓A100显卡

NVIDIA A100 显卡&#xff08;GPU&#xff09;是基于NVIDIA的Ampere架构设计的高性能计算和人工智能任务的处理器。 A100显卡主要由以下几种关键芯片和组件组成&#xff1a; 1. GPU芯片 NVIDIA GA100 GPU&#xff1a; 核心组件&#xff0c;是整个显卡的核心处理单元。GA100芯…

Ubuntu24.04 Isaacgym的安装

教程1 教程2 教程3 1.下载压缩包 link 2. 解压 tar -xvf IsaacGym_Preview_4_Package.tar.gz3. 从源码安装 Ubuntu24.04还需首先进入虚拟环境 python -m venv myenv # 创建虚拟环境&#xff0c;已有可跳过 source myenv/bin/activate # 激活虚拟环境python编译 cd isaa…

Python容器 之 字符串--字符串的常用操作方法

1.字符串查找方法 find() 说明&#xff1a;被查找字符是否存在于当前字符串中。 格式&#xff1a;字符串.find(被查找字符) 结果&#xff1a;如果存在则返回第一次出现 被查找字符位置的下标 如果不存在则返回 -1 需求&#xff1a; 1. 现有字符串数据: 我是中国人 2. 请设计程序…

Python 作业题1 (猜数字)

题目 你要根据线索猜出一个三位数。游戏会根据你的猜测给出以下提示之一&#xff1a;如果你猜对一位数字但数字位置不对&#xff0c;则会提示“Pico”&#xff1b;如果你同时猜对了一位数字及其位置&#xff0c;则会提示“Fermi”&#xff1b;如果你猜测的数字及其位置都不对&…

网络爬虫基础知识

文章目录 网络爬虫基础知识爬虫的定义爬虫的工作流程常用技术和工具爬虫的应用1. 抓取天气信息2. 抓取新闻标题3. 抓取股票价格4. 抓取商品价格5. 抓取博客文章标题 网络爬虫基础知识 爬虫的定义 网络爬虫&#xff08;Web Crawler 或 Spider&#xff09;是一种自动化程序&…

算法训练营day24--93.复原IP地址 +78.子集 +90.子集II

一、93.复原IP地址 题目链接&#xff1a;https://leetcode.cn/problems/restore-ip-addresses/ 文章讲解&#xff1a;https://programmercarl.com/0093.%E5%A4%8D%E5%8E%9FIP%E5%9C%B0%E5%9D%80.html 视频讲解&#xff1a;https://www.bilibili.com/video/BV1fA4y1o715 1.1 初…

MyBatis入门案例

实施前的准备工作&#xff1a; 1.准备数据库表2.创建一个新的springboot工程&#xff0c;选择引入对应的起步依赖&#xff08;mybatis、mysql驱动、lombok&#xff09;3.在application.properties文件中引入数据库连接信息4.创建对应的实体类Emp&#xff08;实体类属性采用驼峰…

终身免费的Navicat数据库,不需要破解,官方支持

终身免费的Navicat数据库&#xff0c;不需要破解&#xff0c;官方支持 卸载了Navicat&#xff0c;很不爽上干货&#xff0c;Navicat免费版下载地址 卸载了Navicat&#xff0c;很不爽 公司不让用那些破解的数据库软件&#xff0c;之前一直使用Navicat。换了几款其他的数据库试了…

WebStorm 2024 for Mac JavaScript前端开发工具

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff08;适合自己的M芯片版或Intel芯片版&#xff09;&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功3、打开访达&#xff0c;点击【文…

web权限到系统权限 内网学习第一天 权限提升 使用手工还是cs???msf可以不??

现在开始学习内网的相关的知识了&#xff0c;我们在拿下web权限过后&#xff0c;我们要看自己拿下的是什么权限&#xff0c;可能是普通的用户权限&#xff0c;这个连添加用户都不可以&#xff0c;这个时候我们就要进行权限提升操作了。 权限提升这点与我们后门进行内网渗透是乘…

代码查重软件-自力更生

为了减轻工作量&#xff0c;自研了简单实用的代码查重工具&#xff0c;可以对若干文件之间进行查重。通过调试&#xff0c;相似度大于80%的没有一个是冤枉的。好用。去掉雷同的&#xff0c;其他的代码再慢慢看。

pads layout 脚本导出不能运行excle解决办法

在一台新的电脑上安装好PADS&#xff0c;打开PCB文件导出坐标文件时&#xff1a; 出现“ActiveX Automation: server could not be found.”的问题,导致无法成功导出文件,错误提示截图如下&#xff1a; 导致上述问题的原因是在我们配置导出带坐标的脚本时,默认使用的是微软…

服务器连接不上

记录今天2024/07/02的问题&#xff1a; 我今天真的是非常无语&#xff0c;今天在连服务器的时候&#xff0c;突然发现连不上了。 后来才意识到&#xff0c;原来是我笔记本先是开了全局代理&#xff0c;然后再用easy connected连接。当时还跳出了一个窗口如下&#xff0c;我当时…