[英]Mysqldump - How to restore a single table from this file?
我需要在我的数据库中只恢复一个表。
我有一个.sql
文件,其中包含一个表所需的所有信息,但其余的将覆盖其他表的重要信息。
而不是在这里使用解决方案 - 使用我从未听说过的工具,我认为手动执行它会更加确定。
不幸的是,MySqlDump生成的GIANT插入行太长,无法粘贴到mysql命令行中......
我该怎么办?
我应该像上面的链接一样使用sed吗?
或者我可以将mysqldump.sql
中特定表的命令粘贴到新的.sql
文件中,然后调用:
mysql -u root -p -h localhost < copyPasteFile.sql
你可以尝试一下
mysql -u root -p databasename -h localhost < copyPasteFile.sql
我不确定它是否是最佳方式,但我只是启动一个新架构并将备份恢复到它,转储我需要的数据并将其导入生产数据库。
我使用MYSQL工作台使其更容易,但可以在命令行中重现以下步骤
要在命令行还原到架构,它看起来像您使用:
mysql -u <user name> -p <password> <database name> < sqlfilename.sql
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没有“使用somedatabase;” 如果它是用phpmyadmin导出的,它可能有,如果它是用mysqldump导出它不会。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.