一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - MYSQL使用.frm恢復數據表結構的實現方法

MYSQL使用.frm恢復數據表結構的實現方法

2019-11-05 15:00mysql教程網 Mysql

在這里我們探討使用.frm文件恢復數據表機構(當然如果你以前備份過數據表,你可以使用調用備份的數據表)

我們都知道當我們建立數據表(innodb或myisam)時,會生成相應的文件(如:MYD,MYI,frm) 
在這里,我們探討下使用frm文件恢復 innodb和myisam類型表的結構,不過由于他們存儲引擎的特性,所以恢復的方法也不一樣,以下是詳細的恢復過程。 

myisamchk "xxx.frm" myisamchk 可以試出來,庫是不是 myisam 類型 

1:恢復innodb類型數據表結構 
我們先從test數據目錄 copy一個innodb.frm文件到另外一個庫(innodb) 

復制代碼代碼如下:


mysql> USE innodb; 
mysql> DATABASE changed 
mysql> SHOW CREATE TABLE innodb; 
ERROR 1146 (42S02): TABLE 'innodb.innodb' doesn't exist 


說明拷貝過來的文件是不能直接使用的,然后我們建立另外一個庫(tmp),并在這個庫里建立一個innodb類型的表 

復制代碼代碼如下:


mysql> CREATE DATABASE tmp; 
mysql> CREATE TABLE innodb (`id` int(11) NOT NULL) ) ENGINE=InnoDB 
DEFAULT CHARSET=utf8; 



然后我們copy innodb下的 innodb.frm 到 tmp數據目錄下,并覆蓋tmp目錄下的innodb.frm 
下面我們 restart mysql 試試 

復制代碼代碼如下:


mysql> SHOW CREATE TABLE innodb \G; 
*************************** 1. row ********** 
TABLE: innodb 
CREATE TABLE: CREATE TABLE `innodb` ( 
`dd` varchar(1) NOT NULL, 
`cc` varchar(1) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=utf8 
1 row IN SET (0.00 sec) 
ERROR: 
No query specified 
mysql> INSERT INTO innodb (dd,cc) value (1,2); 
mysql> Query OK, 1 row affected (0.00 sec) 
mysql> SELECT * FROM innodb; 
ERROR 2013 (HY000): Lost connection TO MySQL server during query 



所以數據結構是可以看到的,但是不可以查詢,好了,這就是使用.frm恢復 innodb類型的表結構 
2:恢復myisam類型數據表結構 
恢復myisam類型的就簡單多了,我看下面步驟 
首先還是和上面一樣,從test數據目錄下 copy一個test.frm 到 tmp庫的數據目錄 

復制代碼代碼如下:


mysql> USE tmp; 
mysql> SHOW CREATE TABLE test; 
ERROR 1017 (HY000): Can't find file: 'test' (errno: 2) 


提示找不到文件,下面我們來處理錯誤,在tmp數據目錄下建立 test.MYI 和 temp.MYD 文件,然后我們使用mysql自帶的修復表命令 

復制代碼代碼如下:


mysql> repair TABLE test USE_FRM; 
+------------------+--------+----------+----------+ 
| TABLE | Op | Msg_type | Msg_text | 
+------------------+--------+----------+----------+ 
| test.test_myisam | repair | STATUS | OK | 
+------------------+--------+----------+----------+ 
1 row IN SET (0.00 sec) 

mysql> SHOW CREATE TABLE test \G; 
*************************** 1. row ********** 
TABLE: test 
CREATE TABLE: CREATE TABLE `test` ( 
`dd` varchar(1) NOT NULL, 
`cc` varchar(1) NOT NULL 
) ENGINE=myisam DEFAULT CHARSET=utf8 
1 row IN SET (0.00 sec) 
ERROR: 
No query specified 
mysql> INSERT INTO test (dd,cc) value(1,2); 
Query OK, 1 row affected (0.00 sec) 
mysql> SELECT * FROM test; 
+------+ 
| dd | cc 
+------+ 
| 1 |2 
+------+ 
1 row IN SET (0.00 sec) 



好了,這個表結構也看到了

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 校花的第一次好紧好爽 | 女人pp被扒开流水了 | 2019年国产不卡在线刷新 | 日本三级欧美三级人妇英文 | 亚洲视频在线免费观看 | mm在线| 男男双性生子产乳高辣h | 国产日韩成人 | 国产盗摄美女嘘嘘视频 | 午夜福利视频极品国产83 | 色哟约 | 久久夜色噜噜噜亚洲AV0000 | 欧美高清videosex极品 | 国产亚洲福利精品一区 | 欧美白虎逼 | 偷偷操不一样 | 国产亚洲精品91 | 日本红色高清免费观看 | 久久不射网 | 四虎永久在线精品波多野结衣 | 国产精品久久久久久久久 | 国产二区视频在线观看 | 亚洲AV 日韩 国产 有码 | 成人免费视频大全 | 国产欧美视频高清va在线观看 | 国产99热 | 香蕉eeww99国产精品 | 视频一区久久 | pregnant欧美孕交xxx | 91亚色视频在线观看 | 驯服有夫之妇HD中字日本 | 亚洲小视频 | 91po国产在线高清福利 | 超爽人人做人人爽 | 国产精品色拉拉免费看 | 国产专区亚洲欧美另类在线 | 国产精品www | 国产一卡二卡四卡免费 | 极品丝袜乱系列在线阅读 | 法国女佣系列在线播放 | 性关系视频网站 |