前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL binlog后面的编号最大是多大?【老叶茶馆公众号】

MySQL binlog后面的编号最大是多大?【老叶茶馆公众号】

作者头像
保持热爱奔赴山海
发布2019-09-17 10:00:07
8180
发布2019-09-17 10:00:07
举报
文章被收录于专栏:饮水机管理员饮水机管理员

MySQL binlog后面的编号最大是多大?

原文地址:http://mp.weixin.qq.com/s/gDpWhlBawRal_pQK2huTMA

具体文章请关注微信公众号:izhishuedu 【知数堂】 知数堂版权所有。

这里我就不啰嗦了,直接上贴代码:

版本:5.7.18

mysql-5.7.18/sql/binlog.cc  大约在3310行开始:

wKiom1lL05rjNeJZAABIoVTebz8967.png
wKiom1lL05rjNeJZAABIoVTebz8967.png

MAX_LOG_UNIQUE_FN_EXT这个值在mysql-5.7.18/sql/binlog.cc  的3253行有定义。是0x7FFFFFFF,转换成10进制就是2147483647。也就是binlog文件编号最大到2147483647(文件名可以为这个),超过就个就报错退出了。

wKioL1lL1CySkbNmAAA3CPLfwR0552.png
wKioL1lL1CySkbNmAAA3CPLfwR0552.png
wKiom1lL1kvRdu5VAACIcssCLUM013.png
wKiom1lL1kvRdu5VAACIcssCLUM013.png

上面2张图中,可以看到有个宏定义LOG_WARN_UNIQUE_FN_EXT_LEFT 为1000,就是说当binlog文件名超过1000时候,就会在errlog里面记录"请考虑归档部分binlogs"。

如果我们人工创建个binlog文件名为mysql-bin.2147483645 然后启动mysql,并执行几次flush logs,就会触发binlog最大值的报错。

报错导致mysqld退出后,我们可以去看下errlog里面内容如下:

wKioL1lL1V7AHIrsAABpt8OrFIk025.png
wKioL1lL1V7AHIrsAABpt8OrFIk025.png

这时候,解决办法就是reset master; 清理掉之前的binlog。

当然,按照目前常理来讲,即便我们1分钟切割一次binlog,要达到最大值也要4K年。一般我们不会遇到这个问题的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-06-22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL binlog后面的编号最大是多大?
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档