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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Mysql - MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法

MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法

2019-11-05 15:00mysql教程網(wǎng) Mysql

在這里我們探討使用.frm文件恢復(fù)數(shù)據(jù)表機(jī)構(gòu)(當(dāng)然如果你以前備份過數(shù)據(jù)表,你可以使用調(diào)用備份的數(shù)據(jù)表)

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

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

1:恢復(fù)innodb類型數(shù)據(jù)表結(jié)構(gòu) 
我們先從test數(shù)據(jù)目錄 copy一個innodb.frm文件到另外一個庫(innodb) 

復(fù)制代碼代碼如下:


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


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

復(fù)制代碼代碼如下:


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



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

復(fù)制代碼代碼如下:


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 



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

復(fù)制代碼代碼如下:


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


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

復(fù)制代碼代碼如下:


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) 



好了,這個表結(jié)構(gòu)也看到了

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩亚洲人成在线综合 | 范冰冰a级一级特级毛片 | 精选国产AV精选一区二区三区 | 女王调奴丨vk | 日韩视频在线精品视频免费观看 | 黑人巨大和日本娇小中出 | 九九久久国产精品大片 | 久久91精品国产91久久户 | 香蕉久久久久 | 亚洲一区二区福利视频 | 99热在线免费观看 | 亚洲欧美另类专区 | 欧美特级特黄a大片免费 | 日韩在线视频在线 | 狠狠的撞进去嗯啊h女强男视频 | 青草视频在线观看免费网站 | 大伊香蕉精品视频一区 | 久久强奷乱码老熟女 | 红色毛片 | 91人人| 天堂在线观看中文字幕 | 日本老师xxxxx18| 女主被当众调教虐np | 我的好妈妈7中字在线观看韩国 | 国产成人愉拍精品 | 成年人免费观看视频网站 | 天天操网 | 日本人护士免费xxxx视频 | 忘忧草秋观看未满十八 | 女子校生下媚药在线观看 | 国产精品四虎在线观看免费 | 精品久久久噜噜噜久久久app | 99久久精品国产片久人 | 黄色aaa级片 | chinese军人@gay | 91正在 播放 | 亚洲香蕉网久久综合影院3p | 精品91| 国产亚洲一欧美一区二区三区 | 都市风流贵妇激情 | 久久99re2在线视频精品 |