佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法

熱門標(biāo)簽:呼叫中心市場(chǎng)需求 Linux服務(wù)器 鐵路電話系統(tǒng) 百度競(jìng)價(jià)排名 AI電銷 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 服務(wù)外包

前言

備份數(shù)據(jù)庫(kù)時(shí),采用了全庫(kù)備份,但是因?yàn)槟承┰蛐枰貪L一個(gè)表的數(shù)據(jù)到備份數(shù)據(jù)庫(kù)上,如果回滾整個(gè)庫(kù)就比較費(fèi)時(shí)間,因?yàn)榭赡苓@個(gè)表只有幾十M,但是其它表可能有十幾上百G,這時(shí)候就需要將需要恢復(fù)的表提取出來(lái)了

我們?cè)趯?shí)際工作中都遇到過(guò)這種情況,一個(gè)MySQL實(shí)例中可能有多個(gè)database。而我們備份時(shí),通常采用完全備份,將所有database都備份到一個(gè)文件中。

但是,偶爾會(huì)遇到只恢復(fù)一個(gè)database或者一個(gè)表的情況。怎么解決呢?

現(xiàn)在有備份庫(kù)fdcsqlmysql-2018_11_30-03_00_01.sql,里面有多張表,現(xiàn)在需要恢復(fù)其中fdc_document這張表的數(shù)據(jù)

提取建表語(yǔ)句

sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `表名`/!d;q' mysqldump.sql(備份文件的文件名)

sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `fdc_document`/!d;q' fdcsqlmysql-2018_11_30-03_00_01.sql

DROP TABLE IF EXISTS `fdc_document`;
/*!40101 SET @saved_cs_client  = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `fdc_document` (
 `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '文檔ID',
 `uid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '用戶ID',
 `name` char(40) NOT NULL DEFAULT '' COMMENT '標(biāo)識(shí)',
 ...
 ...
 ...
 `entrust_rule` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT ' 經(jīng)紀(jì)人點(diǎn)擊是否和用戶簽委托協(xié)議:1為有;0為沒(méi)有',
 `audit` tinyint(3) NOT NULL DEFAULT '0' COMMENT '審核:0為未審核;1為圖片已審核;2為描述已審核;3為圖片和描述都已審核',
 PRIMARY KEY (`id`),
 KEY `idx_area_house` (`partition`,`category_id`,`status`,`is_off`) USING BTREE,
 KEY `idx_model_house` (`model_id`,`status`,`is_off`) USING BTREE,
 KEY `idx_community_house` (`community_id`,`estate`,`status`,`is_off`) USING BTREE,
 KEY `idx_uid_house` (`uid`,`model_id`,`is_off`) USING BTREE,
 KEY `idx_pid_house` (`id`,`pid`,`status`,`is_off`) USING BTREE,
 KEY `is_video` (`is_video`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=211138 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

提取表數(shù)據(jù)

grep 'INSERT INTO表名' mysqldump.sql(備份文件的文件名) > table_data.sql

這里應(yīng)該執(zhí)行grep 'INSERT INTOfdc_document' fdcsqlmysql-2018_11_30-03_00_01.sql > document.sql

執(zhí)行完后會(huì)得到文件document.sql,這就是需要的單獨(dú)的表文件,就可以正?;謴?fù)表數(shù)據(jù)了

建庫(kù)建表

先創(chuàng)建數(shù)據(jù)庫(kù),再根據(jù)上面的SQL語(yǔ)句創(chuàng)建表fdc_document

導(dǎo)入表數(shù)據(jù)

MySQL [document]> souce /data/backup/mysql/document.sql

OK,完工!

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

您可能感興趣的文章:
  • MySQL如何恢復(fù)單庫(kù)或單表,以及可能遇到的坑
  • MySQL單表恢復(fù)的步驟
  • 從MySQL全庫(kù)備份中恢復(fù)某個(gè)庫(kù)和某張表的方法
  • mysql 從 frm 文件恢復(fù) table 表結(jié)構(gòu)的3種方法【推薦】
  • InnoDB 類型MySql恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)
  • MySQL 從全庫(kù)備份中恢復(fù)指定的表和庫(kù)示例
  • MySQL單表ibd文件恢復(fù)方法詳解
  • MYSQL使用.frm恢復(fù)數(shù)據(jù)表結(jié)構(gòu)的實(shí)現(xiàn)方法
  • 用mysqldump備份和恢復(fù)指定表的方法
  • MySQL 利用frm文件和ibd文件恢復(fù)表數(shù)據(jù)

標(biāo)簽:蘭州 湘潭 黃山 崇左 湖南 仙桃 銅川 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL使用全庫(kù)備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    滨海县| 武汉市| 溧阳市| 安顺市| 福清市| 安新县| 会泽县| 郎溪县| 宜良县| 乌海市| 富民县| 凉城县| 平凉市| 繁峙县| 灵川县| 昌吉市| 彭水| 汤原县| 桐梓县| 乌苏市| 栾川县| 绵阳市| 商洛市| 宣武区| 武山县| 合川市| 措美县| 嘉义市| 鄂州市| 依安县| 伊春市| 信宜市| 林甸县| 淳安县| 马关县| 临城县| 儋州市| 绥阳县| 乌恰县| 锦屏县| 平塘县|