首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Mysqldump -如何从该文件恢复单个表?

Mysqldump -如何从该文件恢复单个表?
EN

Stack Overflow用户
提问于 2016-02-25 03:13:18
回答 3查看 3.4K关注 0票数 4

我只需要恢复数据库中的一个表。

我有一个.sql文件,其中包含了一个表所需的所有信息,但其余的文件将覆盖其他表的重要信息。

与其使用解决方案here --使用我从未听说过的工具,我还以为手动操作会更可靠。

不幸的是,MySqlDump生成了一个巨大的插入行太长,无法粘贴到mysql命令行.

我该怎么办?

我是否应该像上面描述的链接那样使用sed?

或者,我可以将特定表的命令从mysqldump.sql复制到一个新的.sql文件中,然后调用:

代码语言:javascript
复制
mysql -u root -p -h localhost < copyPasteFile.sql
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-25 09:34:49

你可以试试

代码语言:javascript
复制
mysql -u root -p databasename -h localhost < copyPasteFile.sql 
票数 2
EN

Stack Overflow用户

发布于 2016-02-25 03:21:20

我不确定这是否是最好的方法,但我只是旋转一个新的模式并恢复到它的备份,转储我需要的数据并导入到生产数据库中。

我使用MYSQL工作台,这使它更容易,但是下面的步骤可能可以在命令行中再现。

  1. 创建新的MYSQL架构
  2. 导入自带备份
  3. 将“目标模式”设置为新的空数据库(.sql转储不能包含模式创建代码)
  4. 还原备份
  5. 将表转储到csv并将其导入生产活动数据库。
  6. 删除还原模式

要在命令行还原到架构,您需要使用:

mysql -u <user name> -p <password> <database name> < sqlfilename.sql

票数 0
EN

Stack Overflow用户

发布于 2016-02-25 03:31:43

代码语言:javascript
复制
mysql -uuser -ppassword -e "create database temporary"

mysql -uuser -ppassword temporary < copyPasteFile.sql

mysqldump -uuser -ppassword temporary yourtable > onlythattable.sql

mysql -uuser -ppassword therealdb < onlythattable.sql

mysql -uuser -ppassword -e "drop database temporary"

确保copyPasteFile.sql没有一个“使用某个数据库”;如果它是用phpmyadmin导出的,它可能有,如果它是用mysqldump导出的,它就不会。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35617518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档