mysql innodb通过frm 和 ibd 文件恢复数据过程

Posted 剑雪封喉r

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql innodb通过frm 和 ibd 文件恢复数据过程相关的知识,希望对你有一定的参考价值。

在A服务器上创建数据库uouo123

root(yoon)> show create table uouo123\\G

*************************** 1. row ***************************

      Table: uouo123

Create Table: CREATE TABLE `uouo123` (

  `id` int(11) DEFAULT NULL,

  `name` varchar(20) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

插入数据

root(uouo123)> insert into uouo123 values (1,'HANK');

Query OK, 1 row affected (1.01 sec)

 

 

root(uouo123)> insert into uouo123 values (2,'uouo123');

Query OK, 1 row affected (0.04 sec)

 

 

root(uouo123)> insert into uouo123 values (3,'GARY');

Query OK, 1 row affected (0.00 sec)

 

 

root(uouo123)> insert into uouo123 values (4,'NIKO');

Query OK, 1 row affected (0.02 sec)

 

 

root(uouo123)> select * from uouo123;

+------+------+

| id  | name |

+------+------+

|    1 | HANK |

|    2 | uouo123 |

|    3 | GARY |

|    4 | NIKO |

+------+------+

4 rows in set (0.00 sec)

 

在B服务器上,添加参数innodb_force_recovery=1并重启,创建空数据库uouo123,并创建表yoon

mysql> create database uouo123;

use yooQuery OK, 1 row affected (1.01 sec)

 

 

mysql> use uouo123;

Database changed

mysql> CREATE TABLE `uouo123` (

    ->  `id` int(11) DEFAULT NULL,

    ->  `name` varchar(20) DEFAULT NULL

    -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Query OK, 0 rows affected (0.09 sec)

 

将表结构和空间脱离

mysql> alter table uouo123 discard tablespace;

Query OK, 0 rows affected (0.02 sec)

 

将A服务器上的ibd数据文件传输至B服务器上

scp uouo123.ibd 192.168.0.2:/export/data/mysql/data/uouo123

 

修改权限

chown -R mysql.mysql uouo123.ibd

 

将表结构和空间建立关系

mysql> alter table uouo123 import tablespace;

Query OK, 0 rows affected, 1 warning (0.04 sec)

 

查询数据

mysql> select * from uouo123;

+------+------+

| id  | name |

+------+------+

|    1 | HANK |

|    2 | uouo123 |

|    3 | GARY |

|    4 | NIKO |

+------+------+

4 rows in set (0.00 sec)

以上是关于mysql innodb通过frm 和 ibd 文件恢复数据过程的主要内容,如果未能解决你的问题,请参考以下文章

通过.ibd和.frm恢复mysql数据

Mysql 通过frm&ibd 恢复数据

Mysql 通过frm&ibd 恢复数据

Mysql 通过frm&ibd 恢复数据

mysql数据库frm文件和ibd文件可以删除吗

mysql怎么通过frm和ibd文件还原数据?