mysql 中ibd数据恢复


正常情况下,数据库的数据量比较小的情况下或者数据库正常情况下可以利用sql方式进行备份。但是如果一旦数据量大且无法利用sql的方式进行备份时,需要利用到数据存储的ibdfrm进行备份。ibd文件是mysql存储的数据内容,frm 是指表结构。

查询需要备份的数据库的存储数据的位置

mysql 中ibd数据恢复

~ find / -name mysql

查询到的mysql存储位置之后,找到需要备份的数据库文件夹

mysql 中ibd数据恢复mysql 中ibd数据恢复

new_deal 数据库的表结构需要提前准备好。

新建一个数据库,将刚准备好的表结构导入后,开始进行数据恢复步骤了

  1. 先查看当前数据库的所有表
~ show tables;
  1. mysql 中ibd数据恢复
  2. 执行以下命令,将原始的ibd文件进行discard掉,执行解除表空间绑定命令,对应的idb文件自动删除(在mysql工具中执行以下命令)
~ alter table tabel_name discard tablespace;
~ alter table tabel_name discard tablespace;

.......................................

有多少张表就写多少个

  1. 找到刚刚新建数据库的数据存储位置(在mysql工具中执行以下命令)
~ show global variables like "%datadir%";

mysql 中ibd数据恢复将原来需要备份的数据库中的文件夹里面所有 .ibd 文件拷贝到刚刚新建数据库的数据存储位置里面

  1. 执行命令将刚复制的文件import进数据库中
~ alter table tabel_name import tablespace;
~ alter table tabel_name import tablespace;

.......................................

有多少张表就写多少个

  1. 有时候会出现权限问题,导致import失败,执行命令赋予权限
~ chown mysql:mysql *.ibd
  1. 重新执行import命令进行数据的恢复,刷新数据库,发现数据已经恢复成功了
上一篇:【HIMI转载推荐之二】COCOS2D-X 屏幕适配新解(比较全面比较详细)


下一篇:Notepad++设置背景色