恢复MySQL InnoDB表结构的方法
程序员文章站
2022-06-17 18:05:45
...
MySQL InnoDB表结构的恢复方法是怎样的呢?下面就为您详细介绍MySQL InnoDB表结构的恢复步骤,如果您对此方面感兴趣的话,不妨一看。 MySQL InnoDB表结构的恢复: 假定:MYSQL数据库已经崩溃,目前只有对应表的frm文件,大家都知道,frm文件无法通过文本编辑
MySQL InnoDB表结构的恢复方法是怎样的呢?下面就为您详细介绍MySQL InnoDB表结构的恢复步骤,如果您对此方面感兴趣的话,不妨一看。MySQL InnoDB表结构的恢复:
假定:MYSQL数据库已经崩溃,目前只有对应表的frm文件,大家都知道,frm文件无法通过文本编辑器查看,因为如果不恢复,基本上来说对我们没什么用。这里我们为了测试,假定该文件为test_innodb.frm.
该表创建脚本如下:
mysql> create table test_innodb
-> (A int(11) default NULL,
-> B varchar(30) default NULL,
-> C date default NULL) engine=innodb;
Query OK, 0 rows affected (0.05 sec)
恢复方法介绍(过程):
1. 在新的正常工作的MYSQL环境下建立一个数据库,比如aa.
2. 在aa数据库下建立同名的数据表test_innodb,表结构随意,这里只有一个id字段,操作过程片段如下:
mysql> create table test_innodb (id bigint not null)engine=InnoDB;
Query OK, 0 rows affected (0.09 sec)
mysql> show tables;
+--------------+
| Tables_in_aa |
+--------------+
| test_innodb |
+--------------+
2 rows in set (0.00 sec)
mysql> desc test_innodb;
+-------+------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+------------+------+-----+---------+-------+
| id | bigint(20) | NO | | NULL | |
+-------+------------+------+-----+---------+-------+
1 row in set (0.00 sec)
3.停止mysql服务器,将系统崩溃后留下的test_innodb.frm文件拷贝到新的正常数据库的数据目录aa下,覆盖掉下边同名的frm文件:
4.重新启动MYSQL服务。
5.测试下是否恢复成功,进入aa数据库,用desc命令测试下:
mysql> desc test_innodb;
+-------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| A | int(11) | YES | | NULL | |
| B | varchar(30) | YES | | NULL | |
| C | date | YES | | NULL | |
+-------+-------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
OK,发现表结构已经恢复过来了。
推荐阅读
-
MySQL优化表时提示 Table is already up to date的解决方法
-
详解Mysql自动备份与恢复的几种方法(图文教程)
-
MySQL修改表一次添加多个列(字段)和索引的方法
-
mysql用一个表更新另一个表的方法
-
浅谈mysqldump使用方法(MySQL数据库的备份与恢复)
-
mysql表物理文件被误删的解决方法
-
MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法
-
MySQL 自动备份与数据库被破坏后的恢复方法第1/2页
-
MySQL 从全库备份中恢复指定的表和库示例
-
MySQL单表多关键字模糊查询的实现方法