我正在尝试从包含许多数据库的MYSQL转储中恢复单个数据库。
我在ubuntu命令提示符下尝试查询:
mysql -u root -p --one-database pmadb < localhost.sql
但是mysql仍然试图在转储文件中创建其他数据库,如:
ERROR 1007(HY000)第22行:无法创建数据库'c0roundcube';数据库存在
无法理解我在这里做错了什么。 感谢。
答案 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
失败的同一个问题,因为这个表有相同的表名字存在。)