2011-03-18 54 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-名称应该提前创建:我不认为它会自动创建

相关问题