我有一个非常庞大的(> 8mo)sql文件,它基本上创建了2个表并用数据填充它们。这是Sequel Pro生成的转储。 我的第一个想法是逐行读取文件并运行“执行”命令,但我有一个错误,我的字符串太大了。
Mysql2 ::错误:收到的数据包大于'max_allowed_packet'字节
有没有办法直接运行SQL文件而不是读取它并尝试执行?
仅供参考我可以将这个文件分成2个部分分别用于2个表格,但是我之后会有另一个更大的文件,并且不能分割。
我正在使用Rails 3.0.3与ActiveRecord和MySQL数据库。
答案 0 :(得分:5)
它是一个正确的SQL文件(其中包含SQL语句)吗?
如果是这样,您应该可以在命令行上执行此操作:
mysql target-db-name < sql-file-name.sql -uuser -p
点击返回,它会提示您输入密码,然后关闭
请记住用适当的值替换target-db-name,sql-file-name.sql和user
注意:应事先创建target-db-name:我认为它不会自动创建