我有一个mysql数据库的mysqldump备份,包括我们所有的表,大约440兆.我只想从mysqldump恢复其中一个表的内容.这可能吗?从理论上讲,我可以删掉重建我想要的表格的部分,但我甚至不知道如何有效地编辑这样大小的文本文档.

推荐答案

您可以try 使用sed,以便只提取所需的表.

假设您的表名为mytable,文件mysql.dump是包含巨大转储的文件:

$ sed -n -e '/CREATE TABLE.*`mytable`/,/Table structure for table/p' mysql.dump > mytable.dump

这将在文件mytable.dump中复制CREATE TABLE mytable和下一个表对应的下一个CREATE TABLE之间的内容.

然后可以调整包含表mytable struct 的文件mytable.dump和数据(INSERT的列表).

Mysql相关问答推荐

MySQL生成的整型计算可以为空吗?

如何防止程序中计数器出错

仅获取我不是最后一个 comments 者的博客帖子

表列中的SQL SUM MENY值记录单个查询

Mysql:使用like Select 查询

MySQL - 密码哈希没有预期的格式

如何创建一个列,该列在另一个表中具有值的计数?

MySQL 8.0 可以在 Select 语句中返回 JSON 对象数组吗?

从 R 脚本创建新的 MYSQL 数据库

使用 Having 表达式连接多个表

为什么没有创建此触发器?

MySQL - 单词边界的正则表达式,不包括下划线(连接标点符号)

在 SQL 中 for each 组返回具有最大值的行,包括具有相同值的行

MYSQL:范围匹配与周年纪念日

保存SQL查询的中间结果

MariaDB 下的慢速更新、删除和插入查询

mysql错误:错误1018(HY000):无法读取'.'的目录(错误号:13)

如何将时刻 JS 时间插入 MySQL

基于字符串动态创建 PHP 对象

在 MySQL 中签名或未签名