【问题标题】:Limit rows per insert in mysqldump在 mysqldump 中限制每次插入的行数
【发布时间】:2013-04-07 06:39:30
【问题描述】:

我正在管道mysqldump 输出槽perl -pane 's{(VALUES |\),)\(}{$1\n (}smg',所以每个插入行都在新行上,如下所示:

INSERT INTO (col1, col2, ...) VALUES
  (value1, value2, ...),
  (value1, value2, ...),
  ...

但是当我尝试导入这个文件时,那些换行符和空格会产生MySQL has gone away 错误,因为数据包太大了。

我能告诉mysqldump每次插入要转储多少行(或字节)吗?

【问题讨论】:

  • 你能改变mysql服务器选项来设置更大的数据包大小或更长的超时时间,或者这必须通过修改转储来完成?
  • 不,我无法更改它们。没有那种格式我也能活下去,但我只是希望它能实现。

标签: mysql import insert export mysqldump


【解决方案1】:

使用 where 选项:

mysqldump --opt --where="1 limit 100" myDb

【讨论】:

  • 限制整个转储,而不是每次插入
【解决方案2】:

你可能会喜欢这个,它为每一行添加了插入:

mysqldump --extended-insert=FALSE

来源: MySQLDump one INSERT statement for each data row

【讨论】:

    猜你喜欢
    • 2013-03-22
    • 2013-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多