暂无图片
修改max_binlog_size出现1292警告,咋回事
我来答
分享
暂无图片 匿名用户
修改max_binlog_size出现1292警告,咋回事

修改max_binlog_size出现1292警告,咋回事


原来是默认大小1g

我set global max_binlog_size=1073741850;

出现警告

warning  1292  truncated incorrect max_binlog_size value  1073741850

版本5.7

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
龙镇君

在 MySQL 5.7 中,max_binlog_size 参数用于控制二进制日志(binary log)文件的大小上限。当这个值被设置得过小或过大,或者不是一个合适的值时,MySQL 会拒绝这个设置并发出警告。

原因分析

MySQL 的 max_binlog_size 参数的单位是字节(Bytes),而您设置的 1073741850 字节大约是 1GB(实际上略小于 1GB,因为 1GB = 1,073,741,824 字节)。但是,问题可能不在于数值的大小,而在于 MySQL 5.7 对这个参数值的具体处理。

在 MySQL 中,max_binlog_size 的值必须是 4KB(4096 字节)的倍数。如果设置的值不是 4KB 的倍数,MySQL 会尝试向下调整到最近的 4KB 倍数,并发出警告。

解决方案

  1. 检查并调整值
    确保您设置的值是 4KB 的倍数。对于接近 1GB 的值,您可以设置为 1073741824(即 1GB 精确值)。这样可以避免因不是 4KB 倍数而引发的警告


    SET GLOBAL max_binlog_size = 1073741824;
  2. 查看当前设置
    在调整设置后,您可以查看当前的 max_binlog_size 值来确认更改是否成功。


    SHOW VARIABLES LIKE 'max_binlog_size';
  3. 重启 MySQL 服务(如果需要):
    对于某些全局变量的更改,虽然 SET GLOBAL 命令可以立即生效,但在某些情况下,重启 MySQL 服务可能是一个好主意,以确保所有更改都被正确应用。

  4. 查看错误日志
    如果问题仍然存在,查看 MySQL 的错误日志文件可能会提供更多关于为什么设置失败的线索。

注意事项

  • 在生产环境中更改此类重要配置时,请务必谨慎,并确保有适当的备份和恢复计划。
  • 如果您的 MySQL 服务器在集群或复制环境中运行,请确保所有相关服务器都应用了相同的配置更改。

通过上述步骤,您应该能够解决因设置 max_binlog_size 而导致的警告问题。

暂无图片 评论
暂无图片 有用 2
小洋

是不是大事务,产生了太多binlog; 把大事务拆分成小事务。

暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏