2012-11-08 88 views
3

我是一名學生,負責一些涉及某種數據挖掘的研究。我有幾個志願者「節點」服務器,它們收集並生成SQL文件,供我導入服務器並進行分析。導入大型SQL文件

問題是,這些都是非常大的文件,我需要一種快速導入它們的方法。最近網絡擴展了,現在硬盤上沒有足夠的吞吐量供MySQL控制檯在它們進入時導入它們。時間很重要 - 研究有一個最後期限,我希望要儘可能多地積極地收集儘可能多的時間,而不要等待插入隊列。

我想知道是否有更好的方法來導入非常大的文件 - 每個重約100 MB。我已經試過 「\。myfile.sql」」但是這是令人難以置信的慢。的phpMyAdmin不會採取文件大。

任何想法?謝謝!

+0

你能使用[mysqlimport](http://dev.mysql.com/doc/refman/5.6/en/mysqlimport.html)? – PinnyM

+0

@PinnyM,因爲我得到** Connor Peet **處理SQL文件,不是嗎?因此'mysqlimport'會有一些額外的 – triclosan

+0

轉而使用CLI客戶端選項而不是PHPMyAdmin。但物理服務器的限制當然適用,調整MySQL配置以獲得最佳吞吐量可能更多的是serverfault.com – Wrikken

回答

3

你試圖mysql -uYOU -p < myfile.sql

UPD :

即使mysql -uYOU -p < myfile.sql &,如果你有短版活遠程控制檯會話

UPD2:

但最有效的方法是」 s使用mysqlimport作爲PinnyM建議。 假設name_same_as_table.txt是具有DOS風格的EOL和製表符分隔字段的文本文件。字段的數量和類型必須與目標表中的相同。

mysqlimport -uYOU -p --lock-tables --lines-terminated-by="\r\n" --fields-terminated-by="\t" YOUR_DB name_same_as_table.txt 
+0

啊,我將如何執行在Windows中? –

+0

WIN + R - >'cmd.exe' - > type命令 – triclosan

-1

XAMPP Windows配置

  1. mysql.ini - 8米變化200米(我們需要)
  2. 導航在命令提示符到MySQL/bin中
  3. 發生在你的mysql的SQL文件/ bin文件夾

cmd:mysql -u username -p databasename < sqlFile.sql

  • 它要求密碼:默認在本地主機空通
  • 等待幾分鐘(在SQL文件大小最多基礎)_ ..多數民衆贊成:)
  • +1

    這正是之前提出的答案。 –