MySQL-尝试复制数据库期间“必须增加指定的批量大小”

时间:2019-01-02 16:40:11

标签: mysql sqlyog

我正在尝试通过数据库进行复制,并且已经能够进行几个月的复制而没有任何问题。但是今天,我遇到一个错误,说“必须增加指定的大容量大小”。我正在使用SQLYog。

我在Google上没有找到太多关于此的信息,但似乎很难解决,可以通过诸如'SET SESSION bulk_insert_buffer_size = 1024 * 1024 * 256'之类的方法来增加bulk_insert_buffer_size来解决。 (也尝试使用GLOBAL而不是SESSION)

这没有用,不幸的是我仍然遇到错误。我发现的唯一其他信息是生成消息的源代码,如以下页面中的screenshot of source code所示:https://github.com/Fale/sqlyog/blob/master/src/CopyDatabase.cpp。不幸的是,我真的不知道该怎么做。我尝试查看代码,以找出哪些mysql变量(例如bulk_insert_buffer_size)与源代码中使用的变量相关联,但无法有效地遵循它。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

http://faq.webyog.com/content/24/101/en/about-chunks-and-bulks.html说,您可以指定大容量:

  

“导出”工具的设置可从“首选项”获得,而对于“备份”“ powertool”,该选项由备份向导提供。

您应确保BULK大小不大于MySQL Server的max_allowed_packet配置选项。默认值为1MB,4MB或64MB,具体取决于您的MySQL版本。

我不是SQLYog的用户,但是我知道mysqldump具有类似的概念。 Mysqldump通过读取max_allowed_pa​​cket自动计算最大散装大小。

对于价值而言,bulk_insert_buffer_size与您无关,除非您要复制到MyISAM表中。但一般来说,you shouldn't use MyISAM tables