最新在线看的黄网|伊人久久久久久久网站|日本a视频专区二|欧美A级无码毛片|有扫五av在线播放|好屌日aV在线播放|内射福利视频导航|极品少妇一区二区视频|无吗在线一区播放|性爱黄色视频不卡

您的位置:首頁 > wordpress

寶塔面板用frm和ibd文件恢復(fù)Mysql數(shù)據(jù)
wordpress 2024-04-28編輯:深圳網(wǎng)站建設(shè)閱讀( WordPress 寶塔 面板

寫這篇文章我是非常不情愿的,我現(xiàn)在是在寫這篇文章,但是同時我也在恢復(fù)我服務(wù)器數(shù)據(jù)庫的數(shù)據(jù),出這篇文章也是在我的意料之外,由于我正在這件事類,我就出一版這樣的mysql.frm.ibd文件數(shù)據(jù)恢復(fù)教程,希望這次教程可以幫助到更多需要恢復(fù)的人,我現(xiàn)在是情緒暴漲

我先說一下我的服務(wù)器崩潰經(jīng)過,wordpress博客網(wǎng)站,寶塔輸入了rm指令導(dǎo)致全服務(wù)器文件被刪完,因?yàn)槲沂前⒗镌频姆?wù)器,所以我可以去找那邊的工程師來達(dá)到緊急修復(fù)(這里也建議在商業(yè)化云服務(wù)那里購買主機(jī)的人一旦出現(xiàn)問題就找服務(wù)商工程師),他們解決的很快,原本我以為服務(wù)器文件都刪除了的,一切都不剩,但是經(jīng)過了和工程師共同的努力,那邊提供了我一個暫時盤,用于存儲丟失的數(shù)據(jù),最后就是我的所有數(shù)據(jù)都找回來了,但是,wordpress的數(shù)據(jù)庫文件如果不備份的話,那你直面的就不是sql文件,而是.frm與.ibd文件,

如果你不懂?dāng)?shù)據(jù)表創(chuàng)建的話,那你先看文章,如果看不懂或者一懂半懂就請自己去學(xué)習(xí)數(shù)據(jù)庫的相關(guān)知識!

這里順便介紹一下.frm文件與.ibd文件與.ibdata文件

.frm:與表相關(guān)的元數(shù)據(jù)信息都存放在.frm文件中,主要是表結(jié)構(gòu)的定義信息,不論什么存儲引擎,每一個表都會有一個以表名命名的.frm文件。
.ibd和.ibdata:兩者都是專屬于InnoDB存儲引擎的數(shù)據(jù)庫文件。

當(dāng)采用共享表空間時所有InnoDB表的數(shù)據(jù)均存放在.ibdata中,所以當(dāng)表越來越多時,這個文件會變得很大;
相對應(yīng)的.ibd就是采用獨(dú)享表空間時InnoDB表的數(shù)據(jù)文件。
修改為獨(dú)享表空間的方法是在my.ini配置文件中添加/修改此條:

Innodb_file_per_table=1

mysql存儲的所有數(shù)據(jù)文件都在data,而我們只有.frm與.ibd

這些在數(shù)據(jù)庫里面可以看見,但是打不開,打開直接報錯,
那么廢話不多說了,我們直接開始教程!
Mysql 5.6或者5.7,我這里用的是5.7,因?yàn)楣P者專業(yè)是移動應(yīng)用開發(fā),所以學(xué)點(diǎn)Mysql不過分吧

我這邊用的是自己電腦windows下 做的 因?yàn)樗僮骺隙ㄒ确?wù)器方便 當(dāng)恢復(fù)回來后在導(dǎo)回服務(wù)器
我們先創(chuàng)建數(shù)據(jù)庫建議數(shù)據(jù)庫名跟生前的數(shù)據(jù)庫名是一樣的,比如我的小林博客生前數(shù)據(jù)庫名為pzo.cc,那莫這個時候新建也是pzo.cc
1.先隨意創(chuàng)建一張同名表
輸入指令:

CREATETABLE wp_commentmeta(comment_IDbigint)ENGINE=InnoDB;

2.關(guān)閉mysql服務(wù)

net stop mysql

或者點(diǎn)擊計(jì)算機(jī)--管理--服務(wù)--找到Mysql

然后關(guān)閉
3 復(fù)制備份的.frm覆蓋新建的表.frm
4 開啟mysql服務(wù)

net start mysql

5.在mysql安裝目錄data文件夾下用文本編輯器打開.err文件
找到錯誤日志

然后刪除當(dāng)前表

新建4個字段的同名表,這里建議大家用可視設(shè)計(jì)mysql的軟件來設(shè)置,比如Navicat,這樣的話就可以更方便,不會因?yàn)橛弥噶顒?chuàng)建數(shù)據(jù)表而出錯

CREATE TABLEwp_commentmeta(
`meta_id` bigint(20)  NOT NULL ,
  `comment_id` bigint(20) NOT NULL ,
  `meta_key` varchar(255)  NULL,
  `meta_value` longtext NULL,
)
ENGINE=InnoDB;

新建擁有4個字段的表

最主要的是這種樣式要跟生前一樣`meta_id` bigint,里面的長度小數(shù)點(diǎn)主鍵外鍵都可以不管

然后再關(guān)閉mysql服務(wù)

net stop mysql

然后再復(fù)制備份的.frm覆蓋新建的表.frm
修改配置文件my.ini在[mysqld]下添加/修改innodb_force_recovery=6,一般這一段是沒有的,所以你用搜索功能搜索[mysqld],然后在下面添加innodb_force_recovery=6

啟動mysql服務(wù),查看表結(jié)構(gòu),這個時候你可以看見表結(jié)構(gòu)已經(jīng)恢復(fù)

mysql> desc wp_commentmeta;

導(dǎo)出表結(jié)構(gòu)cmd

mysqldump -uroot -proot data_rec weibo_twets > e:tweets.sql

>后面是保存路徑和保存名稱以及后綴

在.sql文件中找到建表語句。
/*/或者也可以用數(shù)據(jù)庫管理軟件如navicat中找到這張表,在數(shù)據(jù)表右鍵對象信息中復(fù)制下DDL選項(xiàng)卡里的內(nèi)容。

停止mysql服務(wù),然后刪除這張表,用獲得的建表語句(/*/)新建這張數(shù)據(jù)表,也就是你剛剛復(fù)制的建表語句,加上ROW_FORMAT=COMPACT;將表結(jié)構(gòu)改為靜態(tài)表;

比如我復(fù)制的建表語句是

CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci,
  PRIMARY KEY (`meta_id`),
  KEY `comment_id` (`comment_id`),
  KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;

那么添加ROW_FORMAT=COMPACT;后是這樣的:

CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `comment_id` bigint(20) unsigned NOT NULL DEFAULT '0',
  `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci,
  PRIMARY KEY (`meta_id`),
  KEY `comment_id` (`comment_id`),
  KEY `meta_key` (`meta_key`(191))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci ROW_FORMAT=COMPACT;

然后在mysql使用命令提示符走這段建表語句就行了

注:一定要要有ROW_FORMAT=COMPACT;不然后面添加了.ibd文件依然打不開

好,我們有了表結(jié)構(gòu)后,我們現(xiàn)在需要恢復(fù)表數(shù)據(jù)

分離表空間

使當(dāng)前.ibd的數(shù)據(jù)文件和.frm分離。

ALTER TABLE wp_commentmeta DISCARD TABLESPACE;

然后復(fù)制備份的.ibd文件覆蓋新的表數(shù)據(jù)

重啟mysql

導(dǎo)入這個表空間

ALTER TABLE wp_commentmeta IMPORT TABLESPACE;

然后這里數(shù)據(jù)就恢復(fù)了!

注:本次教程是本地恢復(fù),并不是線上恢復(fù),線上恢復(fù)是一樣的道理,也是一樣的指令,可以試試

服務(wù)范圍:WordPress搭建、WordPress主題開發(fā)、WordPress二次開發(fā)、WordPress插件開發(fā)
其它服務(wù):網(wǎng)站建設(shè)、企業(yè)郵箱、數(shù)字證書ssl、400電話、
技術(shù)標(biāo)簽:企業(yè)網(wǎng)站、外貿(mào)網(wǎng)站、外貿(mào)商城、其它問題
聯(lián)系方式:電話:13714666846 微信同號

企業(yè)網(wǎng)站定制

企業(yè)網(wǎng)站定制 根據(jù)企業(yè)需求,量身定制設(shè)計(jì)

企業(yè)網(wǎng)站定制:2800元起
添加微信 請說明來意
聯(lián)系我們
站內(nèi)搜索 MORE+

24小時服務(wù)熱線 0755-29765948
  • 地址:深圳市羅湖區(qū)人民北路2033號206
  • 電話:0755-29765948 傳真:82256610
  • 手機(jī):13714666846 18948334877
  • 郵箱:gong@ew35.com 164761418@qq.com
  • 粵ICP備14049207號
創(chuàng)意化數(shù)字品牌整合網(wǎng)絡(luò)營銷
營銷網(wǎng)站讓你坐等商機(jī)坐傭客戶,Rss

版權(quán)所有:深圳市網(wǎng)商在線科技有限公司

版權(quán)所有:深圳市網(wǎng)商在線科技有限公司
友情連接link: