MySQL 小技巧:使用 xtrabackup 2.4 实现 完全备份及还原

news2024/11/15 16:28:48

演示:使用 xtrabackup 2.4 实现 完全备份及还原

本案例基于 CentOS 7 Mariadb5.5 实现,也支持 MySQL5.5 和 MySQL5.7

1) 安装 xtrabackup 包
// 先安装 Mariadb5.5 和 xtrabackup 包
[root@centos7 ~] yum install mariadb-server -y
[root@centos7 ~] systemctl enable --now mariadb
[root@centos7 ~] yum -y install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm

2) 在源主机做"完全备份" ( 备份到 /backup 目录 )
[root@centos7 ~] mkdir /backup
## 将源主机数据库数据完全备份至 /backup 目录    ( 注意修改数据库密码 )
[root@centos7 ~] xtrabackup -uroot -pP@ssw0rd --backup --target-dir=/backup/base
[root@centos7 ~] ll /backup/base    # 验证完全备份目录
[root@centos7 ~] cat /backup/base/xtrabackup_info
[root@centos7 ~] cat /backup/base/xtrabackup_checkpoints # 可以看出是完全备份 ( full-backuped )
backup_type = full-backuped
flushed_lsn = 1628418        # LSN 是 InnoDB 用来标记日志记录位置的数字, 它表示了数据修改的顺序. 每当有数据变更 (插入,更新或删除) 发生时, LSN 都会递增.

// 将 /backup 目录数据 "拷贝至远程主机"
## 目标主机无需创建 /backup 目录
[root@centos7 ~] scp -r /backup/ 目标主机:/
[root@centos7 ~] scp -r /backup/ 192.168.80.220:/
## 目标主机验证数据 ( 完成异机备份 )
[root@centos7 ~] ll /backup/base/

----
3) 在"目标主机还原"
3.1) 预准备: 确保备份数据的完整性和可用性 ( 提交完成的事务,回滚未完成的事务 )
[root@centos7 ~] yum install mariadb-server -y
[root@centos7 ~] yum -y install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm
[root@centos7 ~] xtrabackup --prepare --target-dir=/backup/base    # 执行预准备操作
InnoDB: FTS optimize thread exiting.
InnoDB: Starting shutdown...
InnoDB: Shutdown completed; log sequence number 1628712
240203 17:05:58 completed OK!
    # 完成

3.2) "将备份的数据文件复制回原始位置"
// 注意: 数据库目录必须为空 ( 且 MySQL 服务不能启动 )
[root@centos7 ~] ll /var/lib/mysql         # 验证数据库目录
[root@centos7 ~] systemctl stop mariadb    # 关闭 MySQL 服务
[root@centos7 ~] xtrabackup --copy-back --target-dir=/backup/base
240203 17:09:48 [01]        ...done
240203 17:09:48 completed OK!
    # 完成
[root@centos7 ~] ll /var/lib/mysql         # 验证数据库目录 ( 有数据咯 )

3.3) 还原属性
[root@centos7 ~] chown -R mysql:mysql /var/lib/mysql

3.4) 启动服务
[root@centos7 ~] systemctl enable --now mariadb

3.5) 验证数据
[root@centos7 ~] mysql

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

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

相关文章

备份RK35XX 设备的ubuntu根文件系统的方法

简介 我们使用 RK35XX 提供的SDK包制作了一个完整的 ubuntu 镜像,烧录到设备中,会在设备中安装很多我们需要的软件,运行的一些自己写的脚本和业务程序,当我们有很多台设备时,不可能每台都一个个去安装,此时我们就需要一个工具来备份当前设备的根文件系统,然后再放到 SD…

面试八股文(3)

文章目录 1.HashSet如何检查重复2.comparable和Comparator区别3.ConcurrentHashMap和Hashtable区别4.线程和进程5.并发与并行的区别6.为什么使用多线程7.使用多线程可能带来问题8.线程的生命周期和状态9.什么是上下文切换10.线程死锁11.产生死锁四个条件12.如何避免死锁 1.Hash…

【项目日记(八)】第三层: 页缓存的具体实现(下)

💓博主CSDN主页:杭电码农-NEO💓   ⏩专栏分类:项目日记-高并发内存池⏪   🚚代码仓库:NEO的学习日记🚚   🌹关注我🫵带你做项目   🔝🔝 开发环境: Visual Studio 2022 项目日…

在windows和Linux中的安装 boost 以及 安装 muduo 和 mysql

一、CMake安装 Ubuntu Linux 下安装和卸载cmake 3.28.2版本-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135960115?spm1001.2014.3001.5501二、安装boost boost官网:boost官网 我下载的boost版本: windows:boost_1_84_0.zipli…

基于SpringBoot的家电销售展示网页的设计与实现

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式 🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 &…

k8s Sidecar filebeat 收集容器中的trace日志和app日志

目录 一、背景 二、设计 三、具体实现 Filebeat配置 K8S SideCar yaml Logstash配置 一、背景 将容器中服务的trace日志和应用日志收集到KAFKA,需要注意的是 trace 日志和app 日志需要存放在同一个KAFKA两个不同的topic中。分别为APP_TOPIC和TRACE_TOPIC 二、…

vulhub中spring的CVE-2022-22947漏洞复现

Spring Cloud Gateway是Spring中的一个API网关。其3.1.0及3.0.6版本(包含)以前存在一处SpEL表达式注入漏洞,当攻击者可以访问Actuator API的情况下,将可以利用该漏洞执行任意命令。 参考链接: https://tanzu.vmware.c…

SpringBoot security 安全认证(三)——自定义注解实现接口放行配置

背景:通过Security实现了安全管理,可以配置哪些接口可以无token直接访问。但一个麻烦就是每增加一个匿名访问接口时都要去修改SecurityConfig配置,从程序设计上讲是不太让人接受的。 本节内容:即是解决以上问题,增加一…

获取未来的5分钟整点时间05,10,15,20,25...

比如预约网约车的时候,是按5分钟的整点时间 GetMapping("/getFiveNextTime")public String fiveNextTime(RequestParam(defaultValue "0") Integer interval) {Calendar calendar Calendar.getInstance();calendar.add(Calendar.MINUTE, (5 …

MySQL进阶45讲【13】为什么表数据删掉一半,表文件大小不变?

1 前言 有些小伙伴在删数据库数据时,会产生一个疑问,我的数据库占用空间大,我把一个最大的表删掉了一半的数据,怎么表文件的大小还是没变? 那么这篇文章,就介绍一下数据库表的空间回收,看看如…

以太网帧格式及ARP协议简介

在以太网中,一个主机和另一个主机进行通信,必须要知道目的主机的MAC地址(物理地址),只要知道目的主机的IP地址,就可以通过ARP协议获取目的主机的MAC地址。 1、ARP协议简介 ARP(Address Resolut…

leetcode刷题(剑指offer) 297.二叉树的序列化和反序列化

297.二叉树的序列化与反序列化 序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。 请设计一个算法来实现…

C语言-2

自定义类型 基本认识 /*引入:学生:姓名,学号,年龄,成绩请为学生们专门定制一个类型(创造一个类型)结构体格式:struct 标识符 // 标识符即自定义类型的名称{成员; // 自己设置…

H5 自适应超人背景引导页源码

H5 自适应超人背景引导页源码 源码介绍:一款自适应引导页源码,带超人背景。有四个跳转按钮。 下载地址: https://www.changyouzuhao.cn/11608.html

深度学习实战 | 卷积神经网络LeNet手写数字识别(带手写板GUI界面)

引言 在深度学习领域,卷积神经网络(Convolutional Neural Network, CNN)是一种广泛应用于图像识别任务的神经网络结构。LeNet是一种经典的CNN结构,被广泛应用于基础的图像分类任务。本文将介绍如何使用LeNet卷积神经网络实现手写…

yum命令下载出现Failed to synchronize cache for repo ‘AppStream‘, ignoring this repo.

修改下面的配置文件 问题: cd /etc/yum.repos.d 修改下面四个文件 vim CentOS-Base.repo vim CentOS-AppStream.repo vim CentOS-Extras.repo vim CentOS-PowerTools.repo测试yum是否正常 yum -y install wget

极速搭建幻兽帕鲁私服,叫上好友春节假期一起联机畅玩帕鲁

文章目录 前言幻兽帕鲁私服详细部署教程查看服务器开始游戏自定义游戏参数配置 前言 行业资讯 《幻兽帕鲁》的火爆对开发商 Pocketpair 来说,代价是巨大的。该游戏的成功让首席执行官沟部拓郎最近在推特上表示,他可能因服务器运营费用而面临破产。据他透…

[文本挖掘和知识发现] 03.基于大连理工情感词典的情感分析和情绪计算

作者于2023年8月新开专栏——《文本挖掘和知识发现》,主要结合Python、大数据分析和人工智能分享文本挖掘、知识图谱、知识发现、图书情报等内容。这些内容也是作者《文本挖掘和知识发现(Python版)》书籍的部分介绍,本书预计2024年…

vscode 括号 python函数括号补全

解决方法 在setting.json中添加 “python.analysis.completeFunctionParens”: true 打开设置; 点击图中按钮打开setting.json文件 添加 “python.analysis.completeFunctionParens”: true