Mysql利用备份数据恢复单表

1、说明

之前的备份是使用Xtrabackup8做的备份
使用了独立表空间(innodb_file_per_table=1),就可以单独恢复这个表。
在这里插入图片描述

2、在备份的目录下执行Prepare

根据自己之前备份的目录,选择执行路径
我之前的备份目录是 /tmp/backup/2023-12-16/full

cd  /tmp/backup/2023-12-16/full
xtrabackup --prepare --export --target-dir=. > export.log 2>&1

prepare时带上参数–export,xtrabackup会生成import tablespace需要的文件。
在这里插入图片描述

3、查看日志,确认prepare成功。

cat export.log | tail -n 10

显示[Xtrabackup] completed OK!
在这里插入图片描述

4、查看表结构

use  school;
show create table student\G;
*************************** 1. row ***************************
       Table: student
Create Table: CREATE TABLE `student` (
  `学号` char(20) DEFAULT NULL,
  `姓名` char(20) DEFAULT NULL,
  `性别` char(5) DEFAULT NULL,
  `手机号` bigint DEFAULT NULL,
  `通信地址` char(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

ERROR: 
No query specified

在这里插入图片描述

5、将表drop掉,模拟数据丢失的场景。

drop  table  school.student;

在这里插入图片描述

6、创建表结构,并执行discard tablespace命令。

进入库 school

use  school;
CREATE TABLE `student` (
  `学号` char(20) DEFAULT NULL,
  `姓名` char(20) DEFAULT NULL,
  `性别` char(5) DEFAULT NULL,
  `手机号` bigint DEFAULT NULL,
  `通信地址` char(50) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

在这里插入图片描述
执行discard tablespace命令

alter table student discard tablespace;

在这里插入图片描述

7、将备份文件copy到实例数据库目录下

将表对应的文件copy到目标实例数据库对应目录下,并修改文件属主权限。如果文件属主权限没有正确设置,下一步import表空间时可能会出错。

进入到之前的备份文件目录

cd /tmp/backup/2023-12-16/full/school
cp  ./student.*   /opt/lucky/data/data_16303/school

在这里插入图片描述
/opt/lucky/data/data_16303/school 这个目录是我当前实例的路径,具体的根据你的实例修改。

修改一下权限

chown -R swadmin:swadmin /opt/lucky/data/data_16303/school 

在这里插入图片描述

8、import表空间

执行import tablespace命令,确认数据恢复。

alter table school.student import tablespace;

在这里插入图片描述
验证数据

select count(*) from school.student;

在这里插入图片描述

9、获取表结构语句

以上的操作是根据知道表结构的情况下做的。如果在生产中误删表的,就要使用
使用三方工具在备份文件中再从ibd文件中提取表结构信息之后,转换成建表语句,再按步骤进行恢复。

待更新…















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

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

相关文章

chrome升级后,调试vue在控制台输出总是显示cjs.js

当前chrome版本120.0.6099.72 在vue中使用console.log输出时,总是显示cjs.js多少多少行,不能显示源文件名及行数 【解决方案】 打开控制台的设置 左侧找到“Ignore List”,取消勾选"enable Lgnore Listing",并重启chr…

C# WPF上位机开发(知识产权ip保护)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 上位机软件如果是和硬件模块搭配开发,这个时候大部分上位机基本上都是白送的,不会收取相关的费用。但是,如果上…

VR虚拟现实的七大应用领域

一、工业领域 园区利用虚拟现实技术优化生产管理与节能减排,实现提质增效降本。发展支持多人协作和模拟仿真的虚拟现实开放式服务平台,打通产品设计与制造环节,构建虚实融合的远程运维新型解决方案,适配各类先进制造技术的员工技…

EasyExcel 简单导入

前边写过使用easyexcel进行简单、多sheet页的导出。今天周日利用空闲写一下对应简单的导入。 重点:springboot、easyExcel、桥接模式; 说明:本次使用实体类student:属性看前边章节内容; 1、公共导入service public …

slurm 23.11.0集群 debian 11.5 安装

slurm 23.11.0集群 debian 11.5 安装 用途 Slurm(Simple Linux Utility for Resource Management, http://slurm.schedmd.com/ )是开源的、具有容错性和高度可扩展的Linux集群超级计算系统资源管理和作业调度系统。超级计算系统可利用Slurm对资源和作业进行管理&a…

I/O流的相关内容

首先我们了解一下什么是文件: 文件其实就是让我们用来保存数据的地方,它可以用来保存信息,图片,以及音频等各类数据。 文件流: 那我们是如何通过我们的程序来进行对文件的操作呢?这里我们就要提出一个概…

Vue学习计划-Vue2--VueCLi(八)vuex统一状态管理实现数据共享

1. vuex是什么 概念:专门在Vue中实现集中式状态(数据)管理的一个Vue插件,对Vue应用中多个组件的共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信…

gitlab 安装

1.安装依赖 sudo apt updatesudo apt-get upgradesudo apt-get install curl openssh-server ca-certificates postfix安装gitlab curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash官网下载安装包 要选ubuntu focal 安…

【Hadoop】HDFS设计思想

HDFS设计思想为什么HDFS上的块为什么远远大与传统文件系统? HDFS设计思想 首先需要明确HDFS部署在集群之上。 假设有一个50G的文件,在HDFS中分布式的存储这个文件,首先需要将50G文件分成多个数据块,块的大小可以设置,…

一二三应用开发平台部署文档——开发环境搭建手册

背景 开源平台在ReadMe文档中简要描述了如何部署与启动以及重要注意事项,有小伙伴私信我希望提供一个详细具体的部署说明,然后联想到自己出于学习或研究目的,去搭建一些开源项目时,面对简要的说明也经常遇到障碍,比如…

在金属/绝缘体/p-GaN栅极高电子迁移率晶体管中同时实现大的栅压摆幅和增强的阈值电压稳定性

标题:Simultaneously Achieving Large Gate Swing and Enhanced Threshold Voltage Stability in Metal/Insulator/p-GaN Gate HEMT (IEDM2023) 摘要 摘要:对于增强型GaN功率晶体管的发展,栅压摆幅和阈值电压稳定性通常是互相排斥的。本文展…

c++11--保证稳定性和兼容性

保证稳定性和兼容性 1.变长参数宏定义及__VA_ARGS__ C99中&#xff0c;可使用变长参数空定义&#xff0c;即在宏定义参数列表最后一个参数为省略号。 预定义宏__VA_ARGS__可在宏定义实现部分替换省略号代表的内容。 #include <stdio.h> #define LOG(...) {\fprintf(std…

RTD2513A RTD2513BA 1VGA+2HDMI转双通道1080P LVDS 显示驱动芯片介绍

转载&#xff1a; 易显LCD显示方案设计www.rtddisplay.com

基于Java+Swingt学生信息管理系统

基于JavaSwing学生信息管理系统 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 1.用户登陆&#xff1a;在帮助按钮处&#xff0c;可以查看登陆账号及密码&#xff1a; 账号admin,密码123456 在未输入的情况下&#xff0c;会提示用户名不能为空&#xff…

git 切换远程地址分支 推送到指定地址分支 版本回退

切换远程地址 1、切换远程仓库地址&#xff1a; 方式一&#xff1a;修改远程仓库地址 【git remote set-url origin URL】 更换远程仓库地址&#xff0c;URL为新地址。 git remote set-url https://gitee.com/xxss/omj_gateway.git 方式二&#xff1a;先删除远程仓库地址&…

正点原子驱动开发BUG(一)--SPI无法正常通信

目录 一、问题描述二、讲该问题的解决方案三、imx6ull的spi适配器驱动程序控制片选分析3.1 设备icm20608的驱动程序分析3.2 imx的spi适配器的驱动程序分析 四、BUG修复测试五、其他问题 一、问题描述 使用正点的im6ull开发板进行spi通信驱动开发实验的时候&#xff0c;主机无法…

Redis Set类型

集合类型也是保存多个字符串类型的元素的&#xff0c;但和列表类型不同的是&#xff0c;集合中 1&#xff09;元素之间是无序的 2&#xff09;元素不允许重复 一个集合中最多可以存储2的32次方个元素。Redis 除了支持集合内的增删查改操作&#xff0c;同时还支持多个集合取交…

【ZYNQ学习】PL第一课

这节课讲什么&#xff1f; 这节课的名字本来是想写为LED&#xff0c;但这一课里除了LED也有按键&#xff0c;又想换为GPIO控制&#xff0c;但关于PL的GPIO控制&#xff0c;不应该这么草率和简单&#xff0c;而且这一课有很多和ZYNQ或者PL关联性不强的东西要说。 所以我写了删删…

基于AT89C52单片机的计算器设计与仿真

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/88637995?spm1001.2014.3001.5503 源码获取 B 源码仿真图课程设计51 摘 要 计算器一般是指“电子计算器”,能进行数学运算的手持机器&#xff0c;拥有集成电路芯…