Ubuntu如何利用.ibd文件恢复MySQL数据?

news/2025/2/22 3:04:19

## 背景:服务器中,MySQL程序坏了,也没有做定时备份的操作。为了是数据库恢复到最新的。

## 方法:可以使用MySQL的 .ibd 文件恢复。(需要原数据库的表结构)

## 文件位置:在Ubuntu系统中,默认位置是:/var/lib/mysql      .ibd文件就在这个目录下。

1、单个表恢复的情况

1.1、停止MySQL程序,备份.bd文件(若程序已经无法启动,则直接备份)

1.2、用原来表结构建表。

1.3、删除新建表的表空间。

ALTER TABLE 表名 DISCARD TABLESPACE;

1.4、将备份好的.ibd文件,复制到目标数据库数据ibd文件的目录下,并修改.ibd文件权限。

sudo chmod 777 表名.ibd

1.5、重新导入表空间即可恢复数据(无需重启目标数据库服务)

ALTER TABLE 表名 IMPORT TABLESPACE;

1.6、执行完后,刷新数据库 原来的数据就已经恢复。

2、多个表批量恢复的情况

2.1、批量拼接数据库中所有表的 删除表空间语句。

SELECT concat('alter table ', table_name, ' discard tablespace;') FROM information_schema.tables WHERE table_schema = '数据库名称'; 

±-----------------------------------------------------------+
| concat('alter table ‘, table_name, ’ discard tablespace;’) |
±-----------------------------------------------------------+
| alter table config discard tablespace; |
| alter table sysconfig discard tablespace; |
 

2.2、然后复制下来,执行所有语句。

2.3、批量拼接数据库中所有表的 导入表空间语句。

SELECT concat('alter table ', table_name, ' import tablespace;') FROM information_schema.tables WHERE table_schema = '数据库名';

±----------------------------------------------------------+
| concat('alter table ‘, table_name, ’ import tablespace;’) |
±----------------------------------------------------------+
| alter table config import tablespace; |
| alter table sysconfig import tablespace; |

2.4、然后复制下来,执行所有语句。

2.5、执行完后,刷新数据库 原来的数据就已经恢复。


http://www.niftyadmin.cn/n/5861545.html

相关文章

第4章 信息系统架构(三)

4.3 应用架构 应用架构的主要内容是规划出目标应用分层分域架构,根据业务架构规划目标应用域、应用组和目标应用组件,形成目标应用架构逻辑视图和系统视图。从功能视角出发,阐述应用组件各自及应用架构整体上,如何实现组织的高阶…

Ubuntu 下 nginx-1.24.0 源码分析 - ngx_process_options

ngx_process_options 声明在 src\core\nginx.c static ngx_int_t ngx_process_options(ngx_cycle_t *cycle); 定义在 src\core\nginx.c static ngx_int_t ngx_process_options(ngx_cycle_t *cycle) {u_char *p;size_t len;if (ngx_prefix) {len ngx_strlen(ngx_prefix);p …

51单片机-按键

1、独立按键 1.1、按键介绍 轻触开关是一种电子开关,使用时,轻轻按开关按钮就可使开关接通,当松开手时,开关断开。 1.2、独立按键原理 按键在闭合和断开时,触点会存在抖动现象。P2\P3\P1都是准双向IO口,…

ssm121基于ssm的开放式教学评价管理系统+vue(源码+包运行+LW+技术指导)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

QT 建立一片区域某种颜色

绘制一个位于(50, 50)的200x200的红色矩形 #include "widget.h" #include "ui_widget.h" #include <QPainter>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);update(); }Widget::~Widget() {delete…

SQL面试题集:识别互相关注的用户

文章目录 一、题目描述二、实现步骤步骤1&#xff1a;筛选双向关注用户对步骤2&#xff1a;去重处理最终SQL实现 三、其他方法 题目来源&#xff1a;快手 一、题目描述 快手平台需优化好友推荐算法&#xff0c;需从用户关注行为中筛选出双向关注的用户对&#xff08;即互相关注…

Rust配置笔记

1.Node.js下载配置 2.c环境配置 C我是用vs装的点击这个installer 点击修改 选择C环境就行,这个时候它就帮忙配置环境了 3.Rust下载配置 4.装napi-rs框架 npm install -g napi-rs/cliRust下载网站 下完之后直接打开 一开始下包会比较慢,多等等 下好之后跑项目前第一件事配置…

Flutter 记一次疑难杂症

问题描述 在运行.\gradlew build时&#xff0c;就会出现下面的错误&#xff0c;死活都解决不了。最牛逼的是&#xff0c;这个问题不解决&#xff0c;直接在 Android 模拟器中运行 Flutter 项目&#xff0c;电脑就直接给我干蓝屏了&#x1f92f;&#x1f92f;&#x1f92f; 直…