Mysql之如何根據(jù).frm和.idb文件恢復(fù)表結(jié)構(gòu)
根據(jù).frm和.idb文件恢復(fù)表結(jié)構(gòu)
.frm和.idb文件是Mysql數(shù)據(jù)庫(kù)使用InnoDB數(shù)據(jù)庫(kù)引擎時(shí)產(chǎn)生的兩個(gè)文件。
- ~表名.frm文件存儲(chǔ)的相關(guān)表的表結(jié)構(gòu)、索引等元數(shù)據(jù)。
- ~表名.idb文件存儲(chǔ)的相關(guān)表中的數(shù)據(jù)記錄。
舉例:
admin.frm
文件存儲(chǔ)的是admin的表結(jié)構(gòu)信息,例如id是int型,id是admin的主鍵等元數(shù)據(jù)信息。admin.idb
文件存儲(chǔ)的是admin表中的記錄信息。例如admin表中(1,張三)一條記錄信息。
如何根據(jù).frm和.idb文件恢復(fù)表結(jié)構(gòu)呢
第一步:下載安裝MYSQL Utilities工具
官方下載地址:https://downloads.mysql.com/archives/utilities/
如果安裝64位工具出現(xiàn)報(bào)錯(cuò)時(shí)可以嘗試換成32位的工具。(親測(cè)有效)
第二步:使用.frm文件恢復(fù)表結(jié)構(gòu)
首先,使用Win + R
快捷鍵打開(kāi)DOS窗口,使用CD切換到.frm文件所在路徑。
例如:admin.frm文件在D:mysql-5.7.31-winx64/data/數(shù)據(jù)庫(kù)名文件中。
則需要 CD /d mysql-5.7.31-winx64/data/數(shù)據(jù)庫(kù)名文件夾中。
然后,使用mysqlfrm --diagnostic ./文件名.frm
命令來(lái)導(dǎo)出建表的sql語(yǔ)句
使用建表sql語(yǔ)句在Mysql數(shù)據(jù)庫(kù)中創(chuàng)建相應(yīng)的表。
第三步:使用.idb文件恢復(fù)表中的記錄
首先,將剛才創(chuàng)建的表的表空間卸載(刪除.idb文件),執(zhí)行完下面的這條命令之后將會(huì)自動(dòng)刪除該表的.idb文件。
在Mysql中執(zhí)行
alter table 表名 discard tablespace;
然后,將需要恢復(fù)的.idb文件拷貝到剛才創(chuàng)建的數(shù)據(jù)表的 表名.frm文件所在的文件夾中(一般是在數(shù)據(jù)安裝路徑\data\數(shù)據(jù)庫(kù)名 文件夾,在這個(gè)文件中可以看創(chuàng)建的表的.frm文件就對(duì)了)。
最后,使用下面的命令將復(fù)制的.idb文件導(dǎo)入到創(chuàng)建的表中。
在Mysql中執(zhí)行
alter table 表名 import tablespace;
按照上面的就可以恢復(fù)表結(jié)構(gòu)和數(shù)據(jù)了,完美收工嘍!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強(qiáng)大、方便易用的函數(shù),在進(jìn)行數(shù)據(jù)庫(kù)管理以及數(shù)據(jù)的查詢(xún)和操作時(shí),幫助我們提高對(duì)數(shù)據(jù)庫(kù)的管理效率,下面這篇文章主要給大家介紹了關(guān)于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關(guān)資料,需要的朋友可以參考下2023-01-01MYSQL分頁(yè)limit速度太慢的優(yōu)化方法
這篇文章主要介紹了MYSQL分頁(yè)limit速度太慢的優(yōu)化方法,需要的朋友可以參考下2016-05-05mysql 查詢(xún)數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例
要查詢(xún)MySQL數(shù)據(jù)庫(kù)的響應(yīng)時(shí)長(zhǎng),通常我們需要測(cè)量查詢(xún)執(zhí)行的時(shí)間,本文主要介紹了mysql 查詢(xún)數(shù)據(jù)庫(kù)響應(yīng)時(shí)長(zhǎng)的方法示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06DB為何大量出現(xiàn)select @@session.tx_read_only 詳解
這篇文章主要給大家介紹了關(guān)于DB為何大量出現(xiàn)select @@session.tx_read_only 的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04MySQL Daemon failed to start錯(cuò)誤解決辦法
這篇文章主要介紹了MySQL Daemon failed to start錯(cuò)誤解決辦法的相關(guān)資料,需要的朋友可以參考下2017-01-01實(shí)例講解MySQL統(tǒng)計(jì)庫(kù)表大小
這篇文章主要介紹了MySQL統(tǒng)計(jì)庫(kù)表大小的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-07-075招帶你輕松優(yōu)化MySQL count(*)查詢(xún)性能
最近在公司優(yōu)化了幾個(gè)慢查詢(xún)接口的性能,總結(jié)了一些心得體會(huì)拿出來(lái)跟大家一起分享一下,文中的示例代碼講解詳細(xì),希望對(duì)大家會(huì)有所幫助2022-11-11