恢復MySQL InnoDB表結構的方法

markzy5201190發表於2012-08-30
MySQL InnoDB表結構的恢復方法是怎樣的呢?下面就為您詳細介紹MySQL InnoDB表結構的恢復步驟,如果您對此方面感興趣的話,不妨一看。
MySQL InnoDB表結構的恢復:
假定:MYSQL資料庫已經崩潰,目前只有對應表的frm檔案,大家都知道,frm檔案無法通過文字編輯器檢視,因為如果不恢復,基本上來說對我們沒什麼用。這裡我們為了測試,假定該檔案為test_innodb.frm.
該表建立指令碼如下:
1. mysql> create table test_innodb
2.
3. -> (A int(11) default NULL,
4. -> B varchar(30) default NULL,
5. -> C date default NULL) engine=innodb;
6. Query OK, 0 rows affected (0.05 sec)
7.
恢復方法介紹(過程):
1. 在新的正常工作的MYSQL環境下建立一個資料庫,比如aa.
2. 在aa資料庫下建立同名的資料表test_innodb,表結構隨意,這裡只有一個id欄位,操作過程片段如下:
1. mysql> create table test_innodb (id bigint not null)engine=InnoDB;
2. Query OK, 0 rows affected (0.09 sec)
3.
4. mysql> show tables;
5. +--------------+
6. | Tables_in_aa |
7. +--------------+
8. | test_innodb |
9. +--------------+
10. 2 rows in set (0.00 sec)
11.
12. mysql> desc test_innodb;
13. +-------+------------+------+-----+---------+-------+
14. | Field | Type | Null | Key | Default | Extra |
15. +-------+------------+------+-----+---------+-------+
16. | id | bigint(20) | NO | | NULL | |
17. +-------+------------+------+-----+---------+-------+
18. 1 row in set (0.00 sec)
19.
3.停止mysql伺服器,將系統崩潰後留下的test_innodb.frm檔案拷貝到新的正常資料庫的資料目錄aa下,覆蓋掉下邊同名的frm檔案:
4.重新啟動MYSQL服務。
5.測試下是否恢復成功,進入aa資料庫,用desc命令測試下:
1. mysql> desc test_innodb;
2. +-------+-------------+------+-----+---------+-------+
3. | Field | Type | Null | Key | Default | Extra |
4. +-------+-------------+------+-----+---------+-------+
5. | A | int(11) | YES | | NULL | |
6. | B | varchar(30) | YES | | NULL | |
7. | C | date | YES | | NULL | |
8. +-------+-------------+------+-----+---------+-------+
9. 3 rows in set (0.01 sec)
10.
OK,發現表結構已經恢復過來了。
來源:網路

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-742247/,如需轉載,請註明出處,否則將追究法律責任。

相關文章