2011-03-18 104 views
2

我有一個相當大的(> 8mo)的SQL文件,基本上創建2個表並填充它們的數據。這是Sequel Pro生成的轉儲。 我的第一個想法是逐行讀取文件並運行「執行」命令,但出現錯誤,表明我的字符串太大。如何將BIG SQL文件導入到rails數據庫中?

Mysql2::Error: Got a packet bigger than 'max_allowed_packet' bytes

有什麼辦法可以直接運行SQL文件而不是讀取它並嘗試執行嗎?
僅供參考我可以將這個文件分成2個部分用於2個表格,但是我會在另一個表格中分割出更大的文件並且不能分割。
我正在使用Rails 3.0.3與ActiveRecord和MySQL數據庫。

+0

是不是與此相同的情況? ;)http://stackoverflow.com/questions/93128/mysql-got-a-packet-bigger-than-max-allowed-packet-bytes – santuxus 2011-03-18 09:00:34

回答

5

它是一個合適的SQL文件(在SQL語句中)?

如果是這樣,你應該能夠做到這一點的命令行:

mysql target-db-name < sql-file-name.sql -uuser -p 

命中回報,它會提示你輸入密碼,你可以關閉

請記住,在適當的替代對目標數據庫名稱,SQL的文件名.sql和用戶價值

注:目標DB-名稱應該提前創建:我不認爲它會自動創建

相關問題