亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql如何根據(jù).frm和.ibd文件恢復(fù)數(shù)據(jù)表

 更新時(shí)間:2023年07月28日 08:27:26   作者:peachyy  
這篇文章主要介紹了mysql根據(jù).frm和.ibd文件恢復(fù)數(shù)據(jù)表的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

忠人之事受人之托 起因是因?yàn)橐晃慌笥训臄?shù)據(jù)庫(kù)服務(wù)器被重裝了,只剩下一個(gè)zbp_post.frm和zbp_post.ibd文件。咨詢我能不能恢復(fù),確實(shí)我只用過(guò)mysqldump這種工具導(dǎo)出數(shù)據(jù) 然后進(jìn)行恢復(fù)到數(shù)據(jù)庫(kù)。這種直接備份物理存儲(chǔ)文件還沒(méi)有嘗試過(guò)。

前提是需要?dú)v史ibd文件的所屬數(shù)據(jù)庫(kù)版本 需要和還原新庫(kù)數(shù)據(jù)庫(kù)版本保持一致,這樣才能少踩坑。

創(chuàng)建表結(jié)構(gòu)

要想恢復(fù)數(shù)據(jù),表結(jié)構(gòu)需要和.ibd里面的結(jié)構(gòu)保持一致,如果不一致將恢復(fù)不成功 可能會(huì)報(bào)如下錯(cuò)誤?;蛘咂渌惓?。

[ERROR] InnoDB: Trying to access page number 426442752 in space 24, space name test1/zbp_post, which is outside the tablespace bounds. Byte offset 0, len 16384, i/o type read. If you get this error at mysqld startup, please check that your my.cnf matches the ibdata files that you have in the MySQL server.

獲取表結(jié)構(gòu)

如果明確知道表結(jié)構(gòu) 這一步可跳過(guò)。不知道表結(jié)構(gòu)可從這一步操作中獲取到表結(jié)構(gòu)。

借助了mysql utilities工具來(lái)查看表結(jié)構(gòu)。

安裝mysql utilities

這里我適用window 其他系統(tǒng)也是類(lèi)似的操作 下載后安裝好。

https://downloads.mysql.com/archives/get/p/30/file/mysql-utilities-1.6.5-winx64.msi

其他系統(tǒng)下載地址 https://downloads.mysql.com/archives/

進(jìn)入zbp_post.frm目錄中執(zhí)行獲取表結(jié)構(gòu)命令。

cd zbp_post
mysqlfrm --diagnostic ./zbp_post.frm

執(zhí)行完mysqlfrm命令后 輸出如下表結(jié)構(gòu)

CREATE TABLE `zbp_post` (
  `log_ID` int(11) NOT NULL AUTO_INCREMENT,
  `log_CateID` int(11) NOT NULL,
  `log_AuthorID` int(11) NOT NULL,
  `log_Tag` varchar(1000) NOT NULL,
  `log_Status` tinyint(4) NOT NULL,
  `log_Type` int(11) NOT NULL,
  `log_Alias` varchar(1000) NOT NULL,
  `log_IsTop` tinyint(4) NOT NULL,
  `log_IsLock` tinyint(4) NOT NULL,
  `log_Title` varchar(1000) NOT NULL,
  `log_Intro` text,
  `log_Content` longtext,
  `log_CreateTime` int(11) NOT NULL,
  `log_PostTime` int(11) NOT NULL,
  `log_UpdateTime` int(11) NOT NULL,
  `log_CommNums` int(11) NOT NULL,
  `log_ViewNums` int(11) NOT NULL,
  `log_Template` varchar(1000) NOT NULL,
  `log_Meta` longtext,
  `log_BdPush` int(11) NOT NULL,
PRIMARY KEY `PRIMARY` (`log_ID`),
KEY `zbp_log_TPISC` (`log_Type`,`log_PostTime`,`log_IsTop`,`log_Status`,`log_CateID`),
KEY `log_CateID` (`log_CateID`),
KEY `log_AuthorID` (`log_AuthorID`),
KEY `log_PostTime` (`log_PostTime`),
KEY `log_CommNums` (`log_CommNums`),
KEY `log_ViewNums` (`log_ViewNums`),
KEY `log_Title` (`log_Title`)
) ENGINE=InnoDB;

數(shù)據(jù)庫(kù)配置修改

編輯MySQL的配置文件,通常是my.cnf或my.ini文件,在[mysqld]部分添加以下行:

這將確保每個(gè)表有單獨(dú)的.ibd文件。

[mysqld]
innodb_file_per_table=1
wait_timeout=600 #600秒(10分鐘)

wait_timeout=600 這個(gè)配置可以不加 訪問(wèn)還原數(shù)據(jù)比較大。執(zhí)行超時(shí)的情況。需要根據(jù)場(chǎng)景酌情配置。

開(kāi)始恢復(fù)數(shù)據(jù)

創(chuàng)建新數(shù)據(jù)庫(kù)

創(chuàng)建一個(gè)數(shù)據(jù)庫(kù) 任意數(shù)據(jù)庫(kù)名。

create database test1;

創(chuàng)建表

進(jìn)入到新創(chuàng)建的數(shù)據(jù)庫(kù)中(use test1),復(fù)制上一步中的表結(jié)構(gòu)SQL。執(zhí)行創(chuàng)建表結(jié)構(gòu)操作。

使用.ibd文件恢復(fù)數(shù)據(jù)到新表

卸載表空間 執(zhí)行此步會(huì)自動(dòng)刪除新表對(duì)應(yīng)的.ibd文件

ALTER TABLE zbp_post DISCARD TABLESPACE;

拷貝備份的.ibd文件到新創(chuàng)建數(shù)據(jù)庫(kù)對(duì)應(yīng)的目錄中。

一般目錄在mysql保存數(shù)據(jù)庫(kù)的目錄。如我當(dāng)前的服務(wù)器mysql數(shù)據(jù)保存的目錄在/usr/local/mysql/data,數(shù)據(jù)庫(kù)名 test1 ,表名 zbp_post。

那么拷貝.ibd文件的目錄為 /usr/local/mysql/data/zbp_post/test1中。

裝載表空間

ALTER TABLE zbp_post IMPORT TABLESPACE;

完成以上步驟后,您應(yīng)該能夠成功還原.ibd文件。請(qǐng)注意,這種方法僅適用于InnoDB引擎的表。如果.ibd文件損壞或不匹配,可能需要使用MySQL的數(shù)據(jù)恢復(fù)工具來(lái)修復(fù)數(shù)據(jù)庫(kù)。

驗(yàn)證

果然完美

mysql> select count(1) from zbp_post;
+----------+
| count(1) |
+----------+
|   785216 |
+----------+
1 row in set (0.15 sec)

到此這篇關(guān)于mysql根據(jù).frm和.ibd文件恢復(fù)數(shù)據(jù)表的文章就介紹到這了,更多相關(guān)mysql恢復(fù)數(shù)據(jù)表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 關(guān)于mysql主備切換canal出現(xiàn)的問(wèn)題解決

    關(guān)于mysql主備切換canal出現(xiàn)的問(wèn)題解決

    這篇文章主要給大家介紹了關(guān)于mysql主備切換canal出現(xiàn)的一些問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 分享MySQL的自動(dòng)化安裝部署的方法

    分享MySQL的自動(dòng)化安裝部署的方法

    線上的MySQL一般都采用源碼編譯,雖然MySQL的源碼編譯挺簡(jiǎn)單的,但是試想一下,如果你有幾百臺(tái)服務(wù)器同時(shí)要安裝MySQL,難道你還一臺(tái)臺(tái)去手動(dòng)編譯、編寫(xiě)配置文件嗎?這顯然太低效了,本文討論MySQL的自動(dòng)化安裝部署。
    2014-07-07
  • mysql連接查詢、聯(lián)合查詢、子查詢?cè)砼c用法實(shí)例詳解

    mysql連接查詢、聯(lián)合查詢、子查詢?cè)砼c用法實(shí)例詳解

    這篇文章主要介紹了mysql連接查詢、聯(lián)合查詢、子查詢?cè)砼c用法,結(jié)合實(shí)例形式詳細(xì)分析了mysql連接查詢、聯(lián)合查詢、子查詢的基本概念、功能、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題分析

    MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題分析

    在本篇內(nèi)容里小編給大家整理了關(guān)于MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題的詳細(xì)分析,有興趣的朋友們可以學(xué)習(xí)參考下。
    2019-06-06
  • mysql下修改engine引擎的方法

    mysql下修改engine引擎的方法

    修改mysql的引擎為INNODB,可以使用外鍵,事務(wù)等功能,性能高。
    2011-08-08
  • MySQL死鎖解析與解決方法

    MySQL死鎖解析與解決方法

    在數(shù)據(jù)庫(kù)管理中,死鎖是一種常見(jiàn)而又棘手的問(wèn)題,當(dāng)多個(gè)事務(wù)相互等待對(duì)方釋放鎖資源時(shí),死鎖就會(huì)發(fā)生,本文將介紹MySQL中死鎖產(chǎn)生的原因、如何查詢死鎖,以及解決死鎖的方法,需要的朋友可以參考下
    2024-01-01
  • MySQL服務(wù)器的啟動(dòng)和關(guān)閉

    MySQL服務(wù)器的啟動(dòng)和關(guān)閉

    作為MySQL管理員,一個(gè)普通的目標(biāo)就是確保服務(wù)器盡可能地處于運(yùn)行狀態(tài),使得客戶機(jī)能夠隨時(shí)訪問(wèn)它。但是,有時(shí)最好關(guān)閉服務(wù)器(例如,如果正在進(jìn)行數(shù)據(jù)庫(kù)的重定位,不希望服務(wù)器在該數(shù)據(jù)庫(kù)中更新表)。保持服務(wù)器運(yùn)行和偶爾關(guān)閉它的需求關(guān)系不是本書(shū)所解 決的。但是我們至少可以討論如何使服務(wù)器啟動(dòng)和停止,以便您具備進(jìn)行這兩個(gè)操作的能力。
    2008-04-04
  • 一文搞懂MySQL索引特性(清晰明了)

    一文搞懂MySQL索引特性(清晰明了)

    索引可以提高數(shù)據(jù)庫(kù)的性能,提高一個(gè)海量數(shù)據(jù)的檢索速度,但是插入,更新,刪除的速度相應(yīng)會(huì)降低,下面這篇文章主要給大家介紹了關(guān)于MySQL索引特性的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • MySQL定時(shí)刪除XX天數(shù)據(jù)示例代碼

    MySQL定時(shí)刪除XX天數(shù)據(jù)示例代碼

    通過(guò)使用MySQL的事件調(diào)度器,我們可以方便地創(chuàng)建定時(shí)任務(wù)來(lái)定期清理數(shù)據(jù)庫(kù)中的過(guò)期數(shù)據(jù),本文介紹了如何創(chuàng)建定時(shí)任務(wù)以及如何刪除3個(gè)月前的數(shù)據(jù)作為示例,感興趣的朋友跟隨小編一起看看吧
    2023-09-09
  • mysql 行列轉(zhuǎn)換的示例代碼

    mysql 行列轉(zhuǎn)換的示例代碼

    這篇文章主要介紹了mysql 行列轉(zhuǎn)換的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論