mysql实战——xtrabackup全量备份/增量备份及恢复
一、测试前准备

mysql数据库
| 端口 | 3306 |
| 数据文件目录 | /data/mysql/3306/data |
| 安装目录 | /usr/lcoal/mysql |
| 配置文件 | /etc/my.cnf |
创建数据库
testXtra
创建备份目录
| 备份目录 | /data/backup/ |
| 备份恢复数据文件目录 | /data/mysql/3307/data |
| 备份恢复配置文件 | /etc/my_3307.cnf |
二、开始测试
1、全量备份数据库
命令:
xtrabackup --user=root --password=mysql --backup --parallel=10 --target-dir=/data/backup/full

2、全量备份恢复(先准备,再恢复)
(1)准备
xtrabackup --prepare --use-memory=2G --target-dir=/data/backup/full


(2)恢复
恢复的机器必须有my.cnf配置文件,再配置文件中配置好datadir目录即数据问目录,数据目录也必须为空,若不为空则会报错。
测试在本机恢复
vi my_3307.cnf
[client]
socket=/data/mysql/3307/data/mysql.sock[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
恢复命令
xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --parallel=10 --target-dir=/data/backup/full


(3)授权
chown -R mysql.mysql /data/mysql/3307/data
(4)启动数据库实例
mysqld_safe --defaults-file=/etc/my_3307.cnf &

(5)grep mysql

(6)查看备份文件

三、增量备份
1、先全量备份
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/base

2、全量备份之后增加些数据

3、第一次增量备份
增量备份需要获取全量备份的to_lsn。
(1)查看全量备份的to_lsn
cd /data/backup/base
cat xtrabackup_checkpoints

如上图to_lsn=18374406
(2)第一次增量备份的命令
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc4 --incremental-lsn=18374406


可以看到inc4是第一次增量备份生成的文件
(3)检查下备份文件是否有新增的数据文件

可以看到test2表空间
4、第二次增量备份
(1)添加些数据

(2)查看第一次增量备份文件的to_lsn

(3)第二次增量备份的命令
xtrabackup --user=root --password=mysql --backup --target-dir=/data/backup/inc5 --incremental-lsn=18411278

5、增量备份恢复步骤
(1) 全量备份准备
xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base

(2)第一次增量备份准备
xtrabackup --prepare --apply-log-only --target-dir=/data/backup/base --incremental-dir=/data/backup/inc4

(3)第二次增量备份准备
xtrabackup --prepare --target-dir=/data/backup/base --incremental-dir=/data/backup/inc5

(4)修改配置文件
vi /etc/my_3307.cnf
[client]
socket=/data/mysql/3307/data/mysql.sock[mysqld]
basedir=/usr/local/mysql
datadir=/data/mysql/3307/data
user=mysql
port=3307
socket=/data/mysql/3307/data/mysql.sock
log_error=/data/mysql/3307/data/mysqld.err
log_timestamps=system
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd[mysqld_safe]
log-error=/data/mysql/3307/data/mysqld.err
pid-file=/data/mysql/3307/data/mysqld.pid#
# include all files from the config directory
#
!includedir /etc/my.cnf.d
(5)恢复命令
xtrabackup --defaults-file=/etc/my_3307.cnf --copy-back --target-dir=/data/backup/base
(6)检查备份的数据文件

可以看到第一次增量备份后新增的表空间被恢复了。
(7)启动备份的数据库实例

(8)grep mysql

(9)登录数据库实例

相关文章:
mysql实战——xtrabackup全量备份/增量备份及恢复
一、测试前准备 mysql数据库 端口3306数据文件目录 /data/mysql/3306/data 安装目录/usr/lcoal/mysql配置文件/etc/my.cnf 创建数据库 testXtra 创建备份目录 备份目录/data/backup/备份恢复数据文件目录/data/mysql/3307/data备份恢复配置文件/etc/my_3307.cnf 二、开始…...
探索演进:了解IPv4和IPv6之间的区别
探索演进:了解IPv4和IPv6之间的区别 在广阔的互联网领域中,设备之间的通信依赖于一组独特的协议来促进连接。前景协议中,IPv4(Internet 协议版本 4)和 IPv6(Internet 协议版本 6)是数字基础设施…...
Python 实现Word (DOC或DOCX)与TXT文本格式互转
目录 引言 安装Python库 使用Python将Word转换为TXT文本格式 使用Python将TXT文本格式转换为Word 引言 Word文档和TXT文本文件是日常工作和生活中两种常见的文件格式,各有其特点和优势。Word文档能够保留丰富的格式设置,如字体、段落、表格、图片等…...
anaconda install on CentOS 7
参考: CentOS 7安装conda并配置环境 CentOS 7安装conda并配置环境_centos conda-CSDN博客...
git管理Codeup云效平台
HTTPS方式实现Git命令 1.进入项目路径,如 cd demo,与此同时,在Codeup平台创建一个空仓库repo,获取空仓库的https协议地址,例如 https://codeup.aliyun.com/xxxx/xxxx/xxx.git。 2.在demo项目下执行 git init命令初始化…...
Pycharm最新安装教程(最新更新时间2024年5月27日)
ps:本教程Pycharm安装,最新更新时间:2024年5月27日,公众号持续更新关注公众号防失联哦 Pycharm 再次更新了一个小版本。又回到老话题,2023.3.2这个版本是否还能安装,笔者也亲测了一下。还是沿用本站之前的…...
医院门诊互联电子病历|基于SSM+vue的医院门诊互联电子病历管理信息系统的设计与实现(源码+数据库+文档)
医院门诊互联电子病历管理信息系统 目录 基于SSM+vue的医院门诊互联电子病历管理信息系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1系统功能模块 2后台登录模块 5.2.1管理员功能 5.2.2用户功能 5.2.3医生功能 四、数据库设计 五、核心代码…...
H3CNE-8-ARP工作原理
ARP:Address Resolution Protocol 通过目的IP地址请求对方的MAC地址的过程。 数据链路层在进行数据封装时,需要目的MAC地址。 arp -a 查看 arp -d * 清空 主机A发送一个数据包给主机C之前,首先要获取C的MAC地址 数据封装...
上交提出TrustGAIN,提出6G网络中可信AIGC新模式!
月16日至18日,2024全球6G技术大会在南京召开。会上,全球移动通信标准制定组织3GPP(第三代合作伙伴计划)的3位联席主席分享了3GPP6G标准时间表: 2024年9月,启动6G业务需求研究; 2025年6月&…...
内存泄漏案例分享2-Fragment的内存泄漏
案例2——hprof文件显示出Fragment内存泄漏 接下来我们来看fragment内存泄漏,老规矩查看fields和references,确保它符合内存泄漏的情形;我们点击jump to source查看泄漏的位置 Fragment#MZBannerView#内部类Runnbale /*** Banner 切换时间间…...
Selenium的百度高级搜索-自动化(未完成)
from selenium import webdriver from selenium.webdriver import ActionChainsdriver webdriver.Chrome() driver.implicitly_wait(10) driver.maximize_window() driver.get("https://www.baidu.com/")# 鼠标悬停(难点) setting driver.find_element_by_id("…...
cs与msf权限传递,以及mimikatz抓取win2012明文密码
在网络安全领域,权限提升和凭证盗窃是渗透测试和攻击中的关键环节。通过工具如CS和MSF,攻击者能够有效地在目标网络中进行权限传递。与此同时,Mimikatz作为一款强大的凭证盗窃工具,可以帮助攻击者从Windows Server 2012等系统中提…...
java欢迪迈手机商城设计与实现源码(springboot+vue+mysql)
风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的欢迪迈手机商城设计与实现。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 欢迪迈手机商城…...
【FPGA】Verilog:2-bit 二进制比较器的实现(2-bit binary comparator)
解释 2-bit 二进制比较器仿真结果及过程说明(包括真值表和卡诺图) 真值表和卡洛图如下: 2-bit Binary Comparator A1 A2 B1...
RPA(机器人流程自动化)技术解读
什么是RPA RPA(Robotic Process Automation),译为流程自动化机器人,又可以称为数字化劳动力(Digital Labor),是一种智能化软件,通过模拟并增强人类与计算机的交互过程,实…...
Qt | QTabBar 类(选项卡栏)
01、上节回顾 Qt | QStackedLayout 类(分组布局或栈布局)、QStackedWidget02、简介 1、QTabBar类直接继承自 QWidget。该类提供了一个选项卡栏,该类仅提供了一个选项卡, 并没有为每个选项卡提供相应的页面,因此要使选项卡栏实际可用,需要自行为每个选项卡设置需要显示的页…...
基于Pytorch框架的深度学习ShufflenetV2神经网络十七种猴子动物识别分类系统源码
第一步:准备数据 17种猴子动物数据: self.class_indict ["白头卷尾猴", "弥猴", "山魈", "松鼠猴", "叶猴", "银色绒猴", "印度乌叶猴", "疣猴", "侏绒"…...
Leetcode260
260. 只出现一次的数字 III - 力扣(LeetCode) class Solution {public int[] singleNumber(int[] nums) {//通过异或操作,使得最终结果为两个只出现一次的元素的异或值int filterResult 0;for(int num:nums){filterResult^num;}//计算首个1(从右侧开始)…...
Webpack性能调优:从加载器到插件的全面优化
Webpack 是一个模块打包工具,它将项目中的各种资源(JavaScript、CSS、图片等)转换成一个或多个浏览器可识别的输出文件。优化 Webpack 的性能主要涉及减少构建时间、减小输出文件大小和提高应用加载速度。 2500G计算机入门到高级架构师开发资…...
cin-getline缓存区
更多资源请关注纽扣编程微信公众号 cin.sync()清除缓存区 如果需要输入如下内容 3 This is C language. This is JAVA language. This is Python language. 写如下程序 #include<bits/stdc.h> using namespace std; string str[100]; int main(){int n;cin>&…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
【Linux】Linux 系统默认的目录及作用说明
博主介绍:✌全网粉丝23W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...

