开发者社区> 余二五> 正文

快速从mysqldump文件中恢复一张表

简介:
+关注继续查看

正常来说我们在备份数据库的使用全库备份的方式,那么在对单张表做恢复的时候怎么操作比较方便呢?下面两种方法教你使用正则匹配的方式去把需要恢复的表数据拿出来,然后进行恢复:


方法一:基于awk工具进行截取

    mysql>use database-name;

    mysql>show tables;

    tables1

    tables2

    tables3

    ...

    我们现在要恢复tables2表的数据:执行下面的操作

1
awk '/^-- Table structure for table .tables2./,/^-- Table structure for table .tables3./{print}' mysqldump.sql > /tmp/tables2.sql


方法二:基于sed工具进行截取

    mysql>use database-name;

    mysql>show tables;

    tables1

    tables2

    tables3

    ...

    我们现在要恢复tables2表的数据:执行下面的操作

1
cat mysqldump.sql | sed -n -e '/Table structure for table .tables1./,/Table structure for table .tables1./p'/tmp/tables1.sql


数据恢复:

    mysql>use database-name;

    mysql>source /tmp/tables1.sql










本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1977829,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mysqldump备份时导致所有数据表锁定,无法提供服务
mysqldump备份时导致所有数据表锁定,无法提供服务
272 0
mysqldump+mysqlbinlog执行备份与还原
服务器的二进制日志文件由用来描述修改数据库内容的事件组成。服务器以二进制方式来写这些文件。为了以文本格式来显示这些内容,可以使用mysqlbinlog工具。也可以使用mysqlbinlog来显示在复制环境中由从从slave服务器所写入中relay日志文件中的内容,因为其格式与二进制日志文件格式一样。
1151 0
mysql备份单个表恢复失败
问题 备份数据库 mysqldump -uroot -p database_name tab1 > test.sql; # 远程加 -h 恢复数据库 使用的是source,进入数据库以后 use database_name; source test.
5945 0
+关注
余二五
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
数据库2025 V3
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载