使用MySQL WorkBench导入...错误ERROR 1046(3D000)

时间:2011-04-26 07:13:25

标签: mysql mysql-error-1046

场景:在本地构建RoR环境以进行开发。生产在EngineYard / GitHub上。现在一切正常,但DB没有导入。

我有一个.sql文件,我从我的prod EY网站上获取。现在我需要在本地将它导入我的MySQL。我正在使用Workbench(因为我是新手),但在下面得到错误。

请帮帮忙?

  

08:07:43恢复/home/james/Downloads/Futology.sql运行:mysql   --defaults-extra-file =“/ tmp / tmpAVeE58 / extraparams.cnf”--host = localhost --user = root --port = 3306 --default-character-set = utf8 --comments< “/home/james/Downloads/Futology.sql”ERROR 1046(3D000)第22行:未选择数据库

     

操作失败,exitcode 1 08:07:43导入   /home/james/Downloads/Futology.sql已完成1个错误

6 个答案:

答案 0 :(得分:38)

Workbench不知道您要使用的数据库(架构)。

在工作台中,当使用数据导入/恢复时,在您选择要导入的文件的下方,它会询问“默认架构导入到”

只需从标题为“默认目标架构”的下拉列表中选择要使用的数据库(架构)。如果您还没有数据库(架构),可以使用“新建”按钮创建它。

这很令人困惑,因为MySQL通常似乎使用术语数据库,但Workbench使用模式。对于大多数目的,它们意味着同样的事情MySQL 'create schema' and 'create database' - Is there any difference

答案 1 :(得分:14)

没有使用Workbench太多但是从命令行很容易看到this(在phpMyAdmin指令下面)

你所追求的命令是: mysql -u #username# -p #database# < #dump_file#

答案 2 :(得分:9)

只需选择目标架构

即可

Simply by choosing your target schema

当我在上面的图片中盘旋

答案 3 :(得分:7)

与brynn的答案类似,只需修改您的SQL文件并在最顶部插入以下行:

use yourdatabasename

yourdatabasename替换为您要导入的数据库。此外,在导入数据库之前,应该已经创建了该数据库(尽管是空的)。

答案 4 :(得分:4)

这是另一个适合我的选择。我在我设置的VM上使用MySQL 5.5,用于导入包含以下内容的大型MySQL .sql转储:1)。一个create table语句2)。插入用于将大量数据插入表中的语句。 在MySQL命令行客户端提示符下键入:

use yourdatabasename
source d:\yourpath\yourfilename.sql

有关'source'和其他命令的更多信息,请输入?在提示。

答案 5 :(得分:1)

上面的命令行是正确的。我发现从旧版本的MySQL导入.sql文件时我必须这样做。我还发现我必须编辑.sql文件(文件顶部)并将数据库名称设置为与您在导入之前创建的空白数据库相同。