MySQL MyISAM表結構的恢復 MySQL MyISAM表結構的恢復方法是怎樣的呢?這是很多人都提過的問題,下面就為您詳細介紹MySQL MyISAM表結構的恢復方法,供您參考。 MySQL MyISAM類型的表恢復相對比較簡單。 同樣先假定需要恢復的表的FRM文件為test_myisam.frm,表結構為 mysql> create table test_myisam -> (A int(11) default NULL, -> B varchar(30) default NULL, -> C date default NULL) engine=myisam; Query OK, 0 rows affected (0.05 sec) 恢復過程如下: 1. 直接將test_myisam.frm拷貝到正常數據庫對應的數據目錄下。這時測試 mysql> show tables; +--------------+ | Tables_in_aa | +--------------+ | test_innodb | | test_myisam | +--------------+ 3 rows in set (0.00 sec) mysql> desc test_myisam; ERROR 1017 (HY000): Can't find file: 'test_myisam' (errno: 2) 發現只能通過show tables命令看見表名,但是表結構還是沒有恢復,desc命令報錯。 2. 在與test_myisam.frm同一目錄建立以下2個文件,文件內容可以為空: test_myisam.MYD test_myisam.MYI 3. 在MYSQL命令行使用MYSQL本身的數據表恢復命令repair命令恢復表,如下: mysql> repair table test_myisam USE_FRM; +-----------------+--------+----------+----------+ | Table | Op | Msg_type | Msg_text | +-----------------+--------+----------+----------+ | aa.test_myisam | repair | status | OK | +-----------------+--------+----------+----------+ 1 row in set (0.00 sec) 根據結果可以知道,恢復命令執行成功,下邊用desc命令測試下: mysql> desc test_myisam; +-------+-------------+------+-----+---------+-------+ | 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.02 sec) 果然恢復成功了。