码迷,mamicode.com
首页 > 数据库 > 详细

尝试用idb文件回复单个表

时间:2016-04-27 18:59:56      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:尝试用idb文件回复单个表

mysql> show engines;

mysql> alter table t1 engine = innodb;

mysql> alter table t7 auto_increment = 100;

mysql> show table status like "t6"\G;


尝试用idb文件回复单个表,注意要恢复到原来的库里面:

1.备份ibd文件:

# cp t7.ibd t7.ibd.bak

2.删除表数据:

mysql> select * from t7 ;

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

| i   | name |

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

|   1 | 1    |

|   2 | 2    |

|   3 | 3    |

|   6 | 1    |

|   7 | 2    |

|   8 | 3    |

| 100 | 1    |

| 101 | 2    |

| 102 | 3    |

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

9 rows in set (0.00 sec)

mysql> delete from t7;

Query OK, 9 rows affected (0.07 sec)


mysql> select * from t7 ;

Empty set (0.00 sec)

3.正确识别ibd文件

mysql> alter table t7 discard tablespace;


4.回复ibd文件:

# mv t7.ibd.bak t7.ibd

# chown mysql. t7.ibd

# chmod 660 t7.ibd


5.正确识别手动回复的ibd文件

mysql> alter table t7 import tablespace;

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


6.查询数据,侥幸回来了!

mysql> select * from t7 ;               

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

| i   | name |

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

|   1 | 1    |

|   2 | 2    |

|   3 | 3    |

|   6 | 1    |

|   7 | 2    |

|   8 | 3    |

| 100 | 1    |

| 101 | 2    |

| 102 | 3    |

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

9 rows in set (0.00 sec)


mysql> 


内存数据库:

mysql> create table t8 engine=memory select * from t7;

mysql> show table status like ‘t8‘\G


mysql> create index mem_hash using hash on t8 (i);

Query OK, 9 rows affected (0.03 sec)

Records: 9  Duplicates: 0  Warnings: 0


mysql> drop index mem_hash on t8;

Query OK, 9 rows affected (0.04 sec)

Records: 9  Duplicates: 0  Warnings: 0


mysql> create index mem_hash using btree on t8 (i);    

Query OK, 9 rows affected (0.03 sec)

Records: 9  Duplicates: 0  Warnings: 0


mysql> show index from t8 \G




尝试用idb文件回复单个表

标签:尝试用idb文件回复单个表

原文地址:http://wangqh.blog.51cto.com/5367393/1768309

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!