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)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章