centos系统mysql数据库差异备份与恢复


文章目录

  • 差异备份mysql数据
      • 一、 安装 Percona XtraBackup
      • 数据库中创建一些数据
      • 三、创建全备份
      • 四、创建差异备份
          • 1. 在数据库中添加数据,让数据发生一些改变
          • 2. 创建第一个差异备份
          • 3. 数据库中再次添加一些数据
          • 4. 创建第二个差异备份
      • 五、模拟数据丢失,删库
      • 六、准备备份数据
      • 七、恢复数据

差异备份mysql数据

一、 安装 Percona XtraBackup

# 添加 Percona 仓库
sudo yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm  # 安装 Percona XtraBackup  
sudo yum install percona-xtrabackup-83 -y # 注意:版本号可能会变化# 83版本工具只支持mysql80以上版本

数据库中创建一些数据

如果数据库中已有默认以外的数据,直接跳过

CREATE DATABASE IF NOT EXISTS test;		#创建一个名为test的数据库
USE test;								#使用数据库
#创建一个名为t1的表CREATE TABLE IF NOT EXISTS t1 (  				id INT AUTO_INCREMENT PRIMARY KEY,  name VARCHAR(100) NOT NULL,  age INT  
);
#向t1表中插入一些数据INSERT INTO t1 (name, age) VALUES ('Alice', 30);  
INSERT INTO t1 (name, age) VALUES ('Bob', 25);  
INSERT INTO t1 (name, age) VALUES ('Charlie', 35);#查看表中所有记录
SELECT * FROM t1;

在这里插入图片描述

三、创建全备份

首先,你需要为 MySQL 数据库创建一个全备份、这是差异备份的基础

#创建一个备份目录
mkdir /data/backup -p
# 使用 xtrabackup 执行完全备份  
xtrabackup --defaults-file=/etc/my.cnf \	#使用配置文件连接
--backup -uroot -p'你的密码' \
--target-dir=/data/backup/base  \			#全备份目录
--no-server-version-check 					#不检查版本

注意:在实际操作中,请不要直接在命令行中包含密码,而是通过配置文件或环境变量来管理密码

四、创建差异备份

在进行了全备份之后,你可以根据需要创建多个差异备份

差异备份只包含全备份以来发生更改的数据

1. 在数据库中添加数据,让数据发生一些改变
use test;			\\使用test数据库
#插入一些记录
INSERT INTO t1 (name, age) VALUES ('David', 28);  
INSERT INTO t1 (name, age) VALUES ('Eva', 32);  
INSERT INTO t1 (name, age) VALUES ('Frank', 29);

在这里插入图片描述

2. 创建第一个差异备份
#差异备份都是基于全备份的
xtrabackup --defaults-file=/etc/my.cnf \		#使用配置文件连接--backup \				--target-dir=/data/backup/inc1 \			#第一次差异备份目录--incremental-basedir=/data/backup/base  \	#全备份目录,在全目录的基础上备份新数据-uroot -p'你的密码' \--no-server-version-check			#   '\'代表换行,这是一条命令

显示completed OK! 就成功了,若是报错可以点击以下链接博客查询
mysql全备份,及各种报错详解
在这里插入图片描述

3. 数据库中再次添加一些数据
use test;
#再次插入一些记录
INSERT INTO t1 (name, age) VALUES ('Grace', 27);  
INSERT INTO t1 (name, age) VALUES ('Henry', 31);  
INSERT INTO t1 (name, age) VALUES ('Ivy', 24);  
INSERT INTO t1 (name, age) VALUES ('Jack', 33);

在这里插入图片描述
在这里插入图片描述

4. 创建第二个差异备份
#跟前一个差异备份唯一的区别就是换了一下备份目录
xtrabackup --defaults-file=/etc/my.cnf \			#使用配置文件连接--backup \--target-dir=/data/backup/inc2 \				# 第二次差异备份目录--incremental-basedir=/data/backup/base  \		# 全备份目录,在全备份的基础上备份新数据-uroot -p'你的密码' \--no-server-version-check						#   '\'代表换行,这是一条命令

在这里插入图片描述

五、模拟数据丢失,删库

 systemctl stop mysqld			\\停止mysql数据库rm -rf /var/lib/mysql/*		\\删除mysql下的所有数据#这时mysql数据库已经登不上了

六、准备备份数据

在恢复之前,你需要准备备份数据。跟增量备份不同的是,不需要准备所有的备份,只需要准备第一次的全备份和最后一次差异备份即可。

#准备全备份数据xtrabackup --defaults-file=/etc/my.cnf \	#使用配置文件连接--prepare --apply-log-only \				#准备备份,只第一次使用 --apply-log-only--target-dir=/data/backup/base \			#全备份目录--no-server-version-check					#不检查版本信息

在这里插入图片描述

#在全备份数据的基础上准备差异备份数据
xtrabackup --defaults-file=/etc/my.cnf \		#使用配置文件连接
--prepare  
--target-dir=/data/backup/base \				#全备份目录
--incremental-basedir=/data/backup/inc2   \		#最后一次差异备份
--no-server-version-check						#不检查服务版本

在这里插入图片描述

七、恢复数据

#恢复数据
xtrabackup --defaults-file=/etc/my.cnf \		#使用配置文件连接
--copy-back \									#恢复数据
--target-dir=/data/backup/base \				#全备份目,此时此目录数据是所有数据
--no-server-version-check						

此时所有数据就都恢复了
在这里插入图片描述

#将恢复的数据给上mysql用户权限
chown -R mysql.mysql /var/lib/mysql
#重启mysqlsystemctl restart mysqld
#登录mysql
mysql -uroot -p'你的密码';
#查看所有数据库
show databases;

在这里插入图片描述

若是中途遇到一些无法解决的问题以下链接可能有解决方式
centos系统mysql数据库完全备份与恢复,以及各种报错解决方案

回到顶层

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

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

相关文章

minio 服务docker配置

用minio docker配置了一个服务,分享链接始终是127.0.01开始的, 改成docker的host的ip则提示签名不匹配, 好在这个文件主要是用来下载的,所以可以通过设置bucket的匿名访问权限来实现下载; 这样不需要后面的地址参数就…

UM960硬件设计,最小系统推荐设计

备注: l L1:推荐使用 0603 封装的 68 nH 射频电感l C1:推荐使用 100 nF 100 pF 两个电容并联l C2:推荐使用 100 pF 电容l C3:推荐使用 n 10 μF 1 100 nF 电容并联,总容值不小于 30 μFl R1&#xff1…

Mysql sql技巧与优化

1、解决mysql同时更新、查询问题 2、控制查询优化 hint 3、 优化 特定类型的查 优化 COUNT() 查询 使用 近似值 业务能接受近似值的话,使用explain拿到近似值 优化关联查询 优化子查询 4、优化group by和distinct 优化GROUP BY WITH ROLLUP 5、优化 limit分页 其他…

AI智能名片微信小程序在品牌战略与私域流量构建中的应用与深度探索

摘要:在数字经济时代,私域流量的价值日益凸显,成为企业和个人实现可持续增长的重要驱动力。品牌,作为私域流量的核心,其稳定性和影响力直接关系到流量的质量与转化效率。AI智能名片微信小程序,作为数字营销…

为什么样本方差(sample variance)的分母是 n-1?

样本均值与样本方差的定义 首先来看一下均值,方差,样本均值与样本方差的定义 总体均值的定义: μ 1 n ∑ i 1 n X i \mu\frac{1}{n}\sum_{i1}^{n} X_i μn1​i1∑n​Xi​ 也就是将总体中所有的样本值加总除以个数,也可以叫做总…

倚天屠龙记高手排名

张无忌:其武功配置堪称无双,乾坤大挪移、完全版九阳神功、太极拳剑,再加上后来习得的降龙十八掌,使他成为当之无愧的武林至尊。九阳神功的内力绵绵不绝,使他连拍一千招降龙十八掌也不觉疲累,其威力甚至超过…

vuepress搭建个人文档

vuepress搭建个人文档 文章目录 vuepress搭建个人文档前言一、VuePress了解二、vuepress-reco主题个人博客搭建三、vuepress博客部署四、vuepress后续补充 总结 vuepress搭建个人文档 所属目录&#xff1a;项目研究创建时间&#xff1a;2024/7/23作者&#xff1a;星云<Xing…

Java毕业设计 基于SSM和Vue的跑腿系统小程序

Java毕业设计 基于SSM和Vue的跑腿系统小程序 这篇博文将介绍一个基于SSM框架和Vue开发的跑腿系统微信小程序&#xff0c;适合用于Java毕业设计。 功能介绍 跑腿员 登录 注册 忘记密码 首页 图片轮播 校友动态 校友动态详情 任务 在线接单 任务订单 我的 我的收藏 联系客…

栈和队列(C语言)

栈的定义 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#xff08;Last In First Out&#xff09;的原则。 压栈&#xff1a;…

【算法】深入理解并优化算法:提升软件开发效率与质量

目录 一、算法的基本概念 输入 输出 确定性 有限性 有效性 二、常见算法类型 1. 排序算法 选择排序&#xff08;Selection Sort&#xff09; 插入排序&#xff08;Insertion Sort&#xff09; 快速排序&#xff08;Quick Sort&#xff09; 归并排序&#xff08;Mer…

Langchain核心模块与实战[7]:专业级Prompt工程调教LLM[输入输出接口、提示词模板与例子选择器的协同工程]

Langchain核心模块与实战[7]:专业级Prompt工程调教LLM[输入输出接口、提示词模板与例子选择器的协同工程] 1. 大模型IO接口 任何语言模型应用的核心元素是…模型的输入和输出。LangChain提供了与任何语言模型进行接口交互的基本组件。 提示 prompts : 将模型输入模板化、动态…

MATLAB--文件操作相关指令

文章目录 文件操作相关指令前言 M文件创建MATLAB文件操作指令MATLAB文件流控制 文件操作相关指令 前言 记录一下M文件创建、操作、获取信息等相关资料。   MATLAB的M文件是用来代替MATLAB命令行窗口输入指令的文件。因此所有的MATLAB指令都可以再MATLAB的M文件中调用. M文件…

Harmony学习(二)------ArkUI(2)

1.主轴对齐方式.justifyContent build() {Column(){Text().width(200).height(100).backgroundColor(Color.Yellow).border({width:2})Text().width(200).height(100).backgroundColor(Color.Yellow).border({width:2}).margin(10)Text().width(200).height(100).backgroundCol…

I can‘t link the chatbot model with react

题意&#xff1a;我无法将聊天机器人模型 chatbot 与React连接起来 问题背景&#xff1a; This is the model from flask import Flask, request, jsonify from flask_cors import CORS import json import nltk import numpy as np import random import pickle from time i…

科研绘图系列:R语言热图(heatmap)

介绍 热图是一种数据可视化技术,通常用于展示数据的分布情况。它通过颜色的变化来表示数据的大小或密度,使得观察者能够直观地理解数据集中的模式和趋势。以下是热图的一些关键特点和应用场景: 数据分布:热图可以显示数据在不同区域的分布情况,比如在地图上显示不同地区的…

【cocos creator】ts中export的模块管理

在 TypeScript&#xff08;TS&#xff09;中&#xff0c;export 和 import 的概念与 Java 中的 public 类、接口以及 import 语句有一些相似之处。可以用以下方式来类比理解&#xff1a; Export 在 TypeScript 中&#xff0c;export 用于将模块中的变量、函数、类等暴露给外部…

Mac 下华为鸿蒙 :DevEco Studio 开发工具下载

1.登录&#xff1a;华为开发者中心--开发--下载工具DevEco Studio 2.下载完成后 &#xff0c;安装&#xff0c;并创建一个新项目。 3.Tools --点击SDK Manager 下载SDK: 如果报&#xff1a;淘宝镜像源错误&#xff1a; npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_H…

优略解距离法—Topsis模型【清风数模学习笔记】

层次分析法的局限性 &#xff08;1&#xff09;决策层不能太多 &#xff08;2&#xff09;数据已知&#xff0c;使用层次分析法不准确 构造计算评分 相较于取卷面理论上的最高分&#xff08;100&#xff09;和最低分&#xff08;0&#xff09;&#xff0c;取分数区间上的最…

Visio绘制的Tanh激活函数结构图,可导出高清图片,可修改,无水印。

Visio绘制的Tanh激活函数结构图,可导出高清图片&#xff0c;可修改&#xff0c;无水印。 方便用于小论文写作&#xff0c;方便用于毕业设计。 Visio版本为2021版&#xff0c;可用更高版本打开。 下载地址&#xff1a;tanh 图片展示&#xff1a;

C语言程序设计10

程序设计10 问题10_1代码10_1结果10_1 问题10_2代码10_2结果10_2 问题10_3代码10_3结果10_3 问题10_1 下列给定程序中已建立一个带结点的单向链表&#xff0c;链表中的各结点数据中的数据递增有序链接&#xff0c;函数 f u n fun fun 的功能是&#xff1a;把形参 x x x 的值放…