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多表聯合查詢語法示例
MySQL表別名的另類用法
MySQL左連接查詢經驗總結
顯示MYSQL表信息的方法
三種常用的MySQL建表語句