从mysqldump恢复单个数据库的mysql

时间:2014-01-11 19:45:36

标签: mysql mysqldump

我正在尝试从包含许多数据库的MYSQL转储中恢复单个数据库。

我在ubuntu命令提示符下尝试查询:

mysql -u root -p --one-database pmadb < localhost.sql

但是mysql仍然试图在转储文件中创建其他数据库,如:

ERROR 1007(HY000)第22行:无法创建数据库'c0roundcube';数据库存在

无法理解我在这里做错了什么。 感谢。

2 个答案:

答案 0 :(得分:2)

您可以在命令行中运行此命令,就像您的声明一样。

mysql -u root -p -D pmadb -o < localhost.sql

答案 1 :(得分:0)

您的MySQL实例必须已有一个名为c0roundcube的数据库,并且您的MySQL转储包含CREATE DATABASE命令,这会阻止您导入该文件。

如果您想重新开始,可以在现有数据库上DROP DATABASE将其全部删除(包括所有表格)

或者您可以从SQL转储中删除CREATE_DATABASE命令,这可能有效,具体取决于您的数据库是否已使用相同的表预先填充。 (如果你已经从这个数据库中删除了表,这个方法可以正常工作,但是如果你已经有了表,那么你会遇到CREATE TABLE失败的同一个问题,因为这个表有相同的表名字存在。)