使用percona xtraBackup8.x进行MySql8.0备份与还原(完全备份,增量备份,差异备份)

news2024/11/17 16:36:08

MySQL备份与还原

  • 备份目标:数据的一致性,服务的可用性
  • 备份技术:物理备份(冷备份)【直接复制数据库文件,适用大型数据库,缺点是操作时服务需要停止】和 逻辑备份(热备份)【备份的是建表建库插入的SQL语句】
  • 备份方式:完全备份,增量备份,差异备份
  • percona是支持数据库热备份的软件

安装
一、首先要安装percona所需的mysql包,可用yum list | grep mysql-community-libs查询是否安装了,正常来说,这个包在装mysql的时候是会装上的。若没有则执行,yum install -y mysql-community-libs-compat
在这里插入图片描述
二、下载percona xtraBackup的yum仓库:yum install -y https://repo.percona.com/yum/percona-release-latest.noarch.rpm
安装percona-xtrabackup,yum -y install percona-xtrabackup-24.x86_64
查询安装结果yum list | grep percona-xtrabackup

备份前期准备工作:要开启MySQL的二进制日志,操作如下:
默认没有开启,实现备份需要开启它,vim /etc/my.cnf,添加log_bin=mysqlbinlog,意思为启动二进制日志,文件名为mysqlbinlog;再添加server-id=2,群集问题指定该主机序号,数字随意,最后重启mysqld即可。【值得一提的是这里设置了MySQL8的二进制日志的文件名是mysqlbinlog,即:mysqlbinlog.index,如mysqlbinlog.000001,使用mysqlbinlog 可以查看二进制日志文件mysqlbinlog -v /var/lib/mysql/mysqlbinlog.000001
在这里插入图片描述
登录Mysql,输入show variables like ‘log_bin’;查看开启状态为on即可。在这里插入图片描述

完全备份还原流程
备份
xtraBackup8使用的是xtrabackup命令而非innobackupex, xtrabackup --backup --target-dir=/xtrabackup/full -uroot -p'mysql-root用户的密码'【其中–target-dir=/xtrabackup/full指明备份目的地】
ls /xtrabackup/full/查询备份结果。
cat /xtrabackup/full/xtrabackup_binlog_info可以查看二进制日志文件的位置。
还原
流程:首先systemctl stop mysqld停止数据库
这里模拟一下数据库损坏(rm -rf /var/lib/mysql/*rm -rf /var/log/mysqld.log
还原时先一致性检查xtrabackup --prepare --target-dir=/xtrabackup/full
再进行恢复xtrabackup --copy-back --target-dir=/xtrabackup/full即可
然后还原的文件要给mysql用户再授权chown -R mysql.mysql /var/lib/mysql,即可systemctl start mysqld正常启动mysqld,完成还原操作。

增量备份还原流程
备份
xtrabackup -uroot -p'mysql-root用户密码' --backup --target-dir=/xtrabackup/inc1 --incremental-basedir=/xtrabackup/full 基于完全备份生成第一次增量备份。
xtrabackup -uroot -p'mysql-root用户密码' --backup --target-dir=/xtrabackup/inc2 --incremental-basedir=/xtrabackup/inc1 基于第一次增量备份生成第二次增量备份。(后续的增量备份以此类推。)
还原
systemctl stop mysqld关闭mysqld服务
再进行一致性检查(先回滚全量包,再回滚第一次增量包,再回滚第二次增量包,这时增量数据都到了全量包中)【每次增量包都要回滚!】
xtrabackup --prepare --apply-log-only --target-dir=/xtrabackup/full
xtrabackup --prepare --apply-log-only --target-dir=/xtrabackup/full --incremental-dir=/xtrabackup/inc1
xtrabackup --prepare --apply-log-only --target-dir=/xtrabackup/full --incremental-dir=/xtrabackup/inc2
回滚完成后,进行恢复xtrabackup --copy-back --target-dir=/xtrabackup/full。最后还原的文件要给mysql用户再授权chown -R mysql.mysql /var/lib/mysql,即可systemctl start mysqld正常启动mysqld,完成还原操作。

差异备份还原流程
备份
xtrabackup -uroot -p'mysql-root用户密码' --backup --target-dir=/xtrabackup/inc1 --incremental-basedir=/xtrabackup/full 基于完全备份生成第一次增量备份,与完全备份的差异就是差异备份。
xtrabackup -uroot -p'mysql-root用户密码' --backup --target-dir=/xtrabackup/inc2 --incremental-basedir=/xtrabackup/inc1仍是基于完全备份生成第二次增量备份,与完全备份的差异就是差异备份。(后续的差异备份仍是基于完全备份进行,以此类推。)
恢复
如上所示,进行了两次差异备份,那么回滚不用像增量备份一样,每个增量包都需要回滚,只需回归完全备份包和最后一次差异备份包即可。
xtrabackup --prepare --apply-log-only --target-dir=/xtrabackup/full
xtrabackup --prepare --apply-log-only --target-dir=/xtrabackup/full --incremental-dir=/xtrabackup/inc2
回滚完成后,进行恢复xtrabackup --copy-back --target-dir=/xtrabackup/full。最后还原的文件要给mysql用户再授权chown -R mysql.mysql /var/lib/mysql,即可systemctl start mysqld正常启动mysqld,完成还原操作。

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

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

相关文章

CSDN周赛60期简要题解

一转眼,周赛都举办了60期了?还以为可以“寿终正寝”了,结果61期又安排上了。打开一看,还是《计算之魂》主题的周赛,还是这种 4 (非编程) 2 (编程) 的题型。可能目前就指…

HttpRunner 使用小结

目录 https 请求证书验证 2.0.3 (2019-02-24) 代理调试 $ 符引用 json 响应中数组的提取和断言 text/html 响应的提取和断言 testcase 之间传递参数 2.2.2 (2019-06-26) 复用 cookies 和 token 1. 每个 testcase 登录一次 2. 将 cookies 或 token 写入文件&#xff…

如何设计一个高并发系统?

其实所谓的高并发,如果你要理解这个问题呢,其实就得从高并发的根源出发,为啥会有高并 发?为啥高并发就很牛逼? 浅显一点,很简单,就是因为刚开始系统都是连接数据库的,但是要知道数据…

关于英语翻译中的归化与异化,你可以了解一下

据了解,归化和异化是翻译中使用的两种不同手段,它们都能在目的语文化中完成各自的使命,都有其存在的价值。那么,究竟什么是归化,什么是异化?英语翻译中的归化与异化有什么特征? 归化是让作者靠近…

Rust 基础入门 —— 字符、布尔、单元 类型

字符、布尔、单元 类型 字符类型(char) 对于字符类型我们有更大的自由性,概括一下: 更大的编码范围,让rust 可以展示更多的内容。统一的字节空间,字符也是四个字节的内存大小。严格区分的 "" …

reduceByKey 和 groupByKey 的分析与区别

reduceByKey 源码 def reduceByKey(partitioner: Partitioner, func: (V, V) > V): RDD[(K, V)] self.withScope {combineByKeyWithClassTag[V]((v: V) > v, func, func, partitioner)}/*** Merge the values for each key using an associative and commutative reduce…

保姆级教程:带你体验华为云测试计划CodeArts TestPlan

华为云测试计划(CodeArts TestPlan)是面向软件开发者提供的一站式云端测试平台,覆盖测试管理、接口测试,融入DevOps敏捷测试理念,帮助您高效管理测试活动,保障产品高质量交付。 登录华为云账号&#xff1a…

使用JMeter安装RabbitMQ测试插件的步骤

整体流程如下:先下载AMQP插件源码,可以通过antivy在本地编译成jar包,再将jar包导入JMeter目录下,重启JMeter生效。 Apache Ant 是一个基于 Java 的构建工具。Ant 可用于自动化构建和部署 Java 应用程序,使开发人员更轻…

【2023年江西省研究生数学建模竞赛】题目一 蒸汽发生器倒U型管内液体流动 建模方案及参考文献

代码与结果如下:完整文档见文末 完整思路”请点击这里“到原文章获取 题目: PACTEL压水堆整体测试设备在2009年建造,用于带有垂直倒U型管蒸汽发生器的压水堆热液压相关的安全性研究,参见图1。 PACTEL压水堆设施包括一个反应堆压力容器模型…

Redis如何统计一个亿的keys?

前言 不知你大规模的用过Redis吗?还是仅仅作为缓存的工具了?在Redis中使用最多的就是集合了,举个例子,如下场景: 签到系统中,一天对应一系列的用户签到记录。 电商系统中,一个商品对应一系列的…

ARM-SWI 和未定义指令异常中断处理程序的返回(七)

文章目录 处理流程示例代码实现SWI未定义指令 附录源码 处理流程 SWI 和未定义指令异常中断是由当前执行的指令自身产生的,当 SWI 和未定义指令异常中断产生时,程序计数器的 PC 的值还未更新,它指向当前指令后面第 2 条指令(对于…

Git的常见操作

Git版本控制 开发难题 在实际开发中我们会遇到一些问题,电脑蓝屏,代码丢了,懊悔不? 时间长了,文件找不到了。懊悔不?手欠,之前代码运行好好的,非要去优化下。结果还 不如以前&am…

京东天猫数据查询与分析:2023年厨电细分市场数据分析

随着消费者对生活品质的追求持续提高,我国厨房电器产品的需求也日趋多样化,市场中厨房电器的品类越来越多,我国厨房电器的市场规模也不断扩大。 根据鲸参谋电商数据显示,2023年1月至4月,天猫平台上厨房电器的销量为670…

搭建个人hMailServer 邮件服务实现远程发送邮件

文章目录 1. 安装hMailServer2. 设置hMailServer3. 客户端安装添加账号4. 测试发送邮件5. 安装cpolar6. 创建公网地址7. 测试远程发送邮件8. 固定连接公网地址9. 测试固定远程地址发送邮件 转载自cpolar极点云文章:搭建个人hMailServer 邮件服务实现远程发送邮件 hM…

ChatGPT微调系列一:总述 微调 的基本流程

文章目录 前言一、啥叫微调二、为啥要微调三、不是所有模型都可以微调的四、总述微调的基本流程,以及涉及的主要函数,参数1. 安装2. 准备训练数据3. openai.api_key os.getenv() 进行一个说明4. 通过API 调用模型 常用函数5. 微调模型 常用函数6. OpenA…

Maven 使用详细教程

目录 Maven 介绍 Maven 安装 1、安装JDK 2、下载Maven安装文件 3、配置环境变量 4、检测安装成功 Maven 标准工程结构 Maven 版本要素 Maven仓库 1、本地仓库: 2、中央仓库 3、其他远程仓库 创建Maven工程 使用命令方式创建Maven工程 Eclipse中创建…

智能大棚自动控制系统 实现传统农业精细化管理

新型农业经营主体管理系统是指为了适应农村经济发展需求,提高农业生产组织化、规模化、现代化程度,促进农业产业结构调整和农村产业转型升级,推动农村经济社会持续健康发展而建立的一套管理体系。 该系统主要包括农产品生产、种植、养…

JavaWeb学习路线(8)——登录

一、基本登录功能 (一)需求: 根据账号与密码判别用户是否可以登录 (二)实现步骤 Controller接收传递的JSON格式数据,使用RequestBody实体类进行接收,调用Service具体处理。Service创建登录接…

循环购应运而生,让老百姓敢于消费、有钱消费、愿意消费

​小编介绍:10年专注商业模式设计及软件开发,擅长企业生态商业模式,商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地;扶持10余个电商平台做到营收过千万,数百个平台达到百万会员,欢迎咨询。 无论…

7 植物背景分离、RGB、HSV特征提取案例(matlab程序)

学习目标:背景分离和RGB等特征提取 1.简述 叶片RGB图像背景精确分离的方法,包括以下图像背景分离方法:S1:选取叶片,所得到的原始图像;S2:采用MATLAB 2016R软件将RGB图像转化为HSV图像,以饱和度0.190.21为界限,将小于界限的图像明度调整为0,并转化为灰度图;S3:用edg…