日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)

發布時間:2025/5/22 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

了解MYSQL的都知道,在MYSQL中建立任何一張數據表,在其數據目錄對應的數據庫目錄下都有對應表的.frm文件,.frm文件是用來保存每個數據表的元數據(meta)信息,包括表結構的定義等,.frm文件跟數據庫存儲引擎無關,也就是任何存儲引擎的數據表都必須有.frm文件,命名方式為數據表名.frm,如user.frm. .frm文件可以用來在數據庫崩潰時恢復表結構。

下面說說如何通過.frm文件恢復數據表結構。

一. 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,發現表結構已經恢復過來了。

二. MyISAM表結構的恢復。

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)

果然恢復成功了。

也可以用show create table命令測試下:

mysql>?show create table test_myisam;

+--------------+-----------------------------------------------------------------

----------------------------------------------------------------------+

| Table????????| Create Table

|

+--------------+-----------------------------------------------------------------

----------------------------------------------------------------------+

| test_myisam | Create TABLE `test_myisam` (

`A` int(11) DEFAULT NULL,

`B` varchar(30) DEFAULT NULL,

`C` date DEFAULT NULL

) ENGINE=MyISAM DEFAULT CHARSET=latin1 |

在恢復MyISAM表結構時,提到MYD文件和MYI文件,這兩個文件都專屬于MyISAM存儲引擎的,前者用來保存MyISAM表的數據,后者用來存放MyISAM表的索引信息。具體在以后的日志再做詳細介紹,這里不再贅述。

From:http://blog.sina.com.cn/s/blog_5d3da3280100hymn.html

總結

以上是生活随笔為你收集整理的mysql表只有frm文件_MYSQL数据文件--.frm文件(只有.frm文件时的表结构恢复)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 特黄aaaaaaa片免费视频 | 在线观看毛片网站 | 今天最新中文字幕mv高清 | 亚洲成人精品av | 波多野结衣在线视频播放 | 极品少妇一区 | 最新日韩视频 | 大桥未久在线视频 | 狂躁美女大bbbbbb黑人 | 影音先锋久久久 | 青春草在线视频免费观看 | 国产精品正在播放 | 色哟哟在线免费观看 | 黄色一级视频在线观看 | 在线视频1卡二卡三卡 | 网站免费在线观看 | 国产精品久久久久久久久免费看 | 日韩欧美国产激情 | 97人妻精品视频一区 | 亚洲影院在线观看 | 天天干天天爽天天射 | 亚洲一区 视频 | 邪恶久久 | 久久伊人av| 性网爆门事件集合av | 瑟瑟av| 日韩精品免费 | 国产suv一区二区 | 日韩免费毛片 | 强行挺进白丝老师翘臀网站 | 一本一道波多野结衣一区二区 | 亚洲视频在线免费播放 | 日韩少妇内射免费播放 | 国产综合精品 | 午夜久久久久久久久久影院 | 久久久久久国产精品免费 | 久草免费在线观看视频 | 日韩综合中文字幕 | 国产欧美日韩专区 | 躁躁躁日日躁 | 日韩欧美大片 | 色撸撸在线 | 欧美污污视频 | 91黄色视屏 | 成人av无码一区二区三区 | www.射 | 亚洲欧美激情在线观看 | 日日日日操 | 国产精品.www | 亚洲一二三四在线观看 | 国产精品福利小视频 | 97影院| 日本黄色激情视频 | 一区二区三区成人 | 欧美整片sss | 国产探花一区二区三区 | 朝桐光av一区二区三区 | 97人人爽 | 色日本在线| 亲子乱一区二区三区 | 国产精品91在线观看 | 97伊人| 国产高潮又爽又无遮挡又免费 | 香港三日本8a三级少妇三级99 | 91免费版黄 | 无码精品在线观看 | 大尺度激情吻胸视频 | 99在线观看免费视频 | 污视频网站免费观看 | 97精品国产97久久久久久免费 | 人妻互换一区二区激情偷拍 | 九七伦理电影 | 熊猫av| 久久视频在线观看 | 欧美群妇大交乱 | 成人人人人人欧美片做爰 | 丁香花高清在线观看完整动漫 | 秋霞福利影院 | 在线视频欧美日韩 | 日产国产亚洲精品系列 | 免费高清视频一区二区三区 | 国产免费av网址 | 日本一区二区不卡在线观看 | 一级黄色a级片 | 怡红院一区二区三区 | 在线精品免费视频 | 国产ts丝袜人妖系列视频 | 19韩国主播青草vip | 99久久久成人国产精品 | 少妇一级淫片免费看 | 丰满大乳少妇在线观看网站 | 亚洲精品国产精品乱码不99 | 久久人人爽人人爽人人片av高清 | 亚洲女同视频 | 97久久国产 | 久久国产中文 | 在线视频久久 | 国产无套内射又大又猛又粗又爽 | 999视频在线观看 |