好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

MySQL删除ibdata1后,如何通过.frm文件把表结构恢复过来

:D:\Program Files\MySQL\MySQL Server 5.5\data

   650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6C/DA/wKioL1VUXfXx2-XuAADXqGnHcQk947.jpg" title="s.png" alt="wKioL1VUXfXx2-XuAADXqGnHcQk947.jpg" />

三、重启数据库,再 访问test_0时出现以下问题

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6C/DB/wKioL1VUXzrCxw2PAAGALF1BoaA084.jpg" title="t.png" alt="wKioL1VUXzrCxw2PAAGALF1BoaA084.jpg" />

此时,该表无法访问啦,怎么吧,表结构也没有备份,怎么能把表结构恢复过来呢???

四、开始为恢复表结构做准备

重新创建一个InnoDB的表,如:

CREATE TABLE test (`id` BIGINT (20)) ENGINE = INNODB;

关闭MySQL Server,到D:\Program Files\MySQL\MySQL Server 5.5\data\te下,删除test.frm,把test_0.frm的名字改成test.frm

修改my.ini文件,在mysqld下添加:innodb_force_recovery=6

启动MySQL Server.

再来查看一下test表

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6C/DB/wKioL1VUYnzzTPqpAAElDtDrc6o016.jpg" title="q.png" alt="wKioL1VUYnzzTPqpAAElDtDrc6o016.jpg" />

好啦,此时test_0的表结构恢复过来了,然后,导出test的表结构,把create的名字改为test_0,就可以了

恢复的建表语句如下:

CREATE TABLE `test_0` (
      `id` INT(9) UNSIGNED ZEROFILL NOT NULL,
      `name` VARCHAR(12) DEFAULT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=INNODB DEFAULT CHARSET=utf8

备注:如果是表比较少的时候,恢复还可以,表多的时候,就此方法就比较麻烦啦!!!

MySQL删除ibdata1后,如何通过.frm文件把表结构恢复过来

标签:mysql

查看更多关于MySQL删除ibdata1后,如何通过.frm文件把表结构恢复过来的详细内容...

  阅读:27次