我只需要恢复数据库中的一个表。
我有一个.sql文件,其中包含了一个表所需的所有信息,但其余的文件将覆盖其他表的重要信息。
与其使用解决方案here --使用我从未听说过的工具,我还以为手动操作会更可靠。
不幸的是,MySqlDump生成了一个巨大的插入行太长,无法粘贴到mysql命令行.
我该怎么办?
我是否应该像上面描述的链接那样使用sed?
或者,我可以将特定表的命令从mysqldump.sql复制到一个新的.sql文件中,然后调用:
mysql -u root -p -h localhost < copyPasteFile.sql发布于 2016-02-25 09:34:49
你可以试试
mysql -u root -p databasename -h localhost < copyPasteFile.sql 发布于 2016-02-25 03:21:20
我不确定这是否是最好的方法,但我只是旋转一个新的模式并恢复到它的备份,转储我需要的数据并导入到生产数据库中。
我使用MYSQL工作台,这使它更容易,但是下面的步骤可能可以在命令行中再现。
要在命令行还原到架构,您需要使用:
mysql -u <user name> -p <password> <database name> < sqlfilename.sql
发布于 2016-02-25 03:31:43
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导出的,它就不会。
https://stackoverflow.com/questions/35617518
复制相似问题