怎么在MySQL中使用全库备份数据恢复单表数据
怎么在MySQL中使用全库备份数据恢复单表数据?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
提取建表语句
sed -e '/./{H;$!d;}' -e 'x;/CREATE TABLE `表名`/!d;q' mysqldump.sql(备份文件的文件名)
sed-e'/./{H;$!d;}'-e'x;/CREATETABLE`fdc_document`/!d;q'fdcsqlmysql-2018_11_30-03_00_01.sqlDROPTABLEIFEXISTS`fdc_document`;/*!40101SET@saved_cs_client=@@character_set_client*/;/*!40101SETcharacter_set_client=utf8*/;CREATETABLE`fdc_document`(`id`int(10)unsignedNOTNULLAUTO_INCREMENTCOMMENT'文档ID',`uid`int(10)unsignedNOTNULLDEFAULT'0'COMMENT'用户ID',`name`char(40)NOTNULLDEFAULT''COMMENT'标识',.........`entrust_rule`tinyint(3)unsignedNOTNULLDEFAULT'0'COMMENT'经纪人点击是否和用户签委托协议:1为有;0为没有',`audit`tinyint(3)NOTNULLDEFAULT'0'COMMENT'审核:0为未审核;1为图片已审核;2为描述已审核;3为图片和描述都已审核',PRIMARYKEY(`id`),KEY`idx_area_house`(`partition`,`category_id`,`status`,`is_off`)USINGBTREE,KEY`idx_model_house`(`model_id`,`status`,`is_off`)USINGBTREE,KEY`idx_community_house`(`community_id`,`estate`,`status`,`is_off`)USINGBTREE,KEY`idx_uid_house`(`uid`,`model_id`,`is_off`)USINGBTREE,KEY`idx_pid_house`(`id`,`pid`,`status`,`is_off`)USINGBTREE,KEY`is_video`(`is_video`)USINGBTREE)ENGINE=InnoDBAUTO_INCREMENT=211138DEFAULTCHARSET=utf8;/*!40101SETcharacter_set_client=@saved_cs_client*/;
提取表数据
grep 'INSERT INTO表名' mysqldump.sql(备份文件的文件名) > table_data.sql
这里应该执行grep 'INSERT INTOfdc_document' fdcsqlmysql-2018_11_30-03_00_01.sql > document.sql
执行完后会得到文件document.sql,这就是需要的单独的表文件,就可以正常恢复表数据了
建库建表
先创建数据库,再根据上面的SQL语句创建表fdc_document
导入表数据
MySQL[document]>souce/data/backup/mysql/document.sql
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。