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

## 背景:服务器中,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 tablesp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值