2011-04-26 48 views
5

方案:建立一個RoR的本地環境的發展。生產在EngineYard/GitHub上。現在所有工作正常,除了數據庫沒有導入。使用MySQL工作臺導入...錯誤ERROR 1046(3D000)

我有,我已經從我的督促EY網站採取.sql文件。現在我需要將它導入到我的MySQL本地。我正在使用Workbench(因爲我是新手),但在下面出現錯誤。

請幫忙?

8時07分43秒恢復/home/james/Downloads/Futology.sql運行:mysql的 --defaults-額外文件= 「/ tmp目錄/ tmpAVeE58/extraparams.cnf」 主機=本地主機 - -user = root --port = 3306 --default-character-set = utf8 --comments <「/home/james/Downloads/Futology.sql」錯誤1046(3D000)在第22行:沒有選擇數據庫

操作失敗,退出碼1 8時07分43秒 /home/james/Downloads/Futology.sql的進口已經有1個錯誤

回答

9

完成未用工作臺然而,太多這是很容易的命令行做看看這個(phpMyAdmin的位下方) - http://bit.ly/91e7aD

命令你後: 的mysql -u用戶名##-p#數據庫#<#dump_file#

+0

我沒有轉儲文件,這是這是不是讓.sql文件我進口。導入的數據庫稱爲company_production。我假設我需要創建一個名爲company_production的數據庫然後導入?如果是這樣,怎麼樣!?謝謝 – RedCuber 2011-04-26 09:25:18

+1

數據庫轉儲文件只是用來創建模式和填充數據的SQL語句列表。 .sql文件應該是dumpfile幷包含這些語句。你是對的,你需要先創建你的數據庫。再次我不熟悉Workbench工具,但按照這裏的說明:[create db - mysql command line](http://www.cyberciti.biz/faq/howto-linux-unix-creating-database-and-table /)你應該能夠創建數據庫。從MySQL命令行客戶端退出(通過鍵入'exit'),然後鍵入以下命令:mysql -u#username#-p#database#<#dump_file# – charliequinn 2011-04-26 11:42:38

1

上面的命令行是正確的。我發現在從舊版本的MySQL中導入.sql文件時必須執行此操作。我還發現我必須編輯.sql文件(文件的頂部),並將db名稱設置爲與您在導入之前創建的空白db相同。

2

這裏是爲我工作的另一種選擇。我在一個虛擬機上使用了MySQL 5.5,該虛擬機設置用於導入包含以下內容的大型MySQL .sql轉儲:1)。一個create table語句2)。插入用於將大量數據插入到表中的語句。 在MySQL命令行提示客戶端類型:

use yourdatabasename 
source d:\yourpath\yourfilename.sql 

用於在「源」和其它命令的詳細信息,請輸入?在提示。

7

到的Brynn的答案類似,只需修改您的SQL文件,並在最頂部插入以下行:

use yourdatabasename 

與到您正在嘗試導入數據庫更換yourdatabasename。另外,在導入數據庫之前,該數據庫應該已經創建(儘管爲空)。

+0

這是問題的答案,如果您需要使用Workbench。 – cybermonkey 2015-12-05 21:31:58

32

工作臺不知道你要使用的數據庫(架構)。

在工作臺上,使用數據導入/恢復,僅低於你選擇要導入的文件時,它會詢問「默認架構要導入」

只需選擇您想要使用的數據庫(架構)從標題爲Default Target Schema的下拉列表中選擇。如果您還沒有數據庫(模式),可以使用「新建」按鈕創建它。

這是令人困惑,因爲MySQL的一般似乎使用術語數據庫,但Workbench使用模式。他們對大多數目的來說意味着同樣的事情MySQL 'create schema' and 'create database' - Is there any difference

+0

非常感謝你:) – abhi 2015-07-16 08:18:23

4

通過簡單地選擇你的目標模式

Simply by choosing your target schema

正如我上面盤旋像