ERROR 1197 (HY000): Multi-statement transaction required more than ‘max_binlog_cache_size‘ bytes of

一、问题描述

mysql在执行SQL语句时获取通过数据库脚本导入数据时,突然报一下错误:

  [ERROR] Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage;
    increase this mysqld variable and try again, Error_code: 1197;
    handler error HA_ERR_RBR_LOGGING_FAILED; the event's master log FIRST, end_log_pos 2149953254, Error_code: 1197

二、问题分析

产生这个问题的原因:max_binlog_cache_size参数设置的问题。这个参数是有默认值的,而且官方提供的默认值是很大的(18446744073709547520),所以如果用默认值的话,一般是不会报错的。

但是,当你自己指定这个参数的值后,就会用你指定的值,当你指定的值不合理是,就会报这个错误。

注意:跟这个参数相关的还有两个参数,分别是:binlog_cache_size、binlog_cache_use

binlog_cache_size:在事务过程中用来存储二进制日志的缓存。

binlog_cache_use:表示用biglog_cache_size缓存的次数

max_binlog_cache_size:标示binlog最大能够使用的cache内存的大小,和参数binlog_cache_size相对应。超过就会报错

 

三、问题解决方案

最简单的方案就是:将这几个相关的参数全部给注释掉,直接用其默认值即可。

修改的配置文件位置:一般在服务器:/etc/my.cnf文件中,如果目录/etc/目录下找不到该文件。可以全局搜索一下。搜索命令如下:

find  /  -name my.cnf

 修改后的配置文件部分截图如下:

修改重启mysql,即可生效。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

h_and_g

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值