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

本文介绍了MySQL在执行SQL时遇到关于max_binlog_cache_size参数错误的情况,分析了问题产生的原因(参数设置不合理),提供了简单解决方案(注释并恢复默认值)以及修改配置文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、问题描述

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文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

h_and_g

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

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

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

打赏作者

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

抵扣说明:

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

余额充值