设置本地 binlog 保留

最近更新时间:2024-10-18 14:14:22

我的收藏
本文为您介绍如何通过控制台设置 MySQL 实例的本地 binlog 保留周期。
说明:
单节点本地盘实例(只读实例)不支持设置本地 binlog 保留。
集群版实例、双节点实例、三节点实例、单节点云盘实例、灾备实例支持设置本地 binlog 保留,保留时长策略分别如下。
集群版实例、双节点实例、三节点实例的本地 binlog 保留时长(小时)默认为120,范围:6 - 168。
灾备实例的本地 binlog 保留时长(小时)默认为120,范围:120 - 168。
单节点云盘实例的本地 binlog 保留时长(小时)默认为120,范围:0 - 168。
若双节点实例、三节点实例下无灾备实例,则该主实例的本地 binlog 保留时长(小时)范围是:6 - 168;若双节点实例、三节点实例下有灾备实例,或者要为双节点实例、三节点实例添加灾备实例,为避免同步异常,该主实例的本地 binlog 保留时长(小时)不能设置低于120小时,范围是:120 - 168。

binlog 说明

云数据库 MySQL 实例在执行大事务或大量 DML 时会产生较多的 binlog,binlog 写满 256MB 会进行一次切割,切割后的 binlog 文件会被上传至对象存储 COS,然后控制台的日志列表会显示上传到 COS 的 binlog 文件。


操作场景

binlog 在上传至 COS 前,会暂存于实例磁盘,从而导致磁盘使用空间增加。您可以通过控制台设置 Binlog 保留周期来控制占用空间的比例,也可以扩容磁盘,建议磁盘使用率不超过80%,其次建议您及时清理无用数据。
binlog 是 MySQL 同步数据的基础,为保障数据库的可恢复性、稳定性、高可用能力,云数据库 MySQL 不支持关闭 binlog。
生成的 binlog 会先通过系统的 自动备份功能 备份到 COS,备份后的 binlog 会根据设置的本地 binlog 保留策略进行删除,当前正在使用的 binlog 无法被清理,防止异常。因此,清理的过程有一定的延迟,设置后请耐心等待一段时间。
说明:
清理过期 binlog 日志规则: 每60秒检查一次本地 binlog 日志,如果检查到 binlog 开始时间或占用空间不符合设定的保留规则时,会加入到待删除队列。删除队列中的 binlog 会按照时间排序,从最早的 binlog 开始逐一删除,直至清空待删除队列。

操作步骤

1. 登录 MySQL 控制台,在实例列表页,单击实例 ID,进入实例管理页面。
2. 在实例管理页面,选择备份恢复页,单击本地 Binlog 设置
3. 在弹出的对话框,填写需要保留的时长以及空间使用率,确认无误后,单击确定,您可参考下面对应实例操作进行设置。
双节点、三节点实例操作
单节点云盘实例操作
灾备实例操作
集群版实例操作

保留时长(小时):开启日志备份后,本地 Binlog 的保留最大时间。默认为120,可修改范围:6 - 168 整数。
注意:
若双节点、三节点实例的本地 Binlog 保留时长配置低于120小时,则该主实例将无法正常购买灾备实例。如需挂载灾备实例,该主实例的本地 Binlog 保留时长设置应不低于120小时。
空间使用率不超过(%):默认为30,可修改范围:30 - 50 整数。
本地 Binlog 空间使用率 = 本地 Binlog 大小 / 实例总可用(购买)空间大小。此为循环使用空间,超出后则从最早的 Binlog 开始清理,直到空间使用率低于该比例且本地 Binlog 不超过保留时长。

保留时长(小时):开启日志备份后,本地 Binlog 的保留最大时间。默认为120,可修改范围:0 - 168 整数。
空间使用率不超过(%):默认为30,可修改范围:30 - 50 整数。
本地 Binlog 空间使用率 = 本地 Binlog 大小 / 实例总可用(购买)空间大小。此为循环使用空间,超出后则从最早的 Binlog 开始清理,直到空间使用率低于该比例且本地 Binlog 不超过保留时长。

保留时长(小时):开启日志备份后,本地 Binlog 的保留最大时间。默认为120,可修改范围:120 - 168 整数。
空间使用率不超过(%):默认为30,可修改范围:30 - 50 整数。
本地 Binlog 空间使用率 = 本地 Binlog 大小 / 实例总可用(购买)空间大小。此为循环使用空间,超出后则从最早的 Binlog 开始清理,直到空间使用率低于该比例且本地 Binlog 不超过保留时长。

保留时长(小时):开启日志备份后,本地 Binlog 的保留最大时间。默认为120,可修改范围:6 - 168 整数。
空间使用率不超过(%):默认为30,可修改范围:30 - 50 整数。
本地 Binlog 空间使用率 = 本地 Binlog 大小 / 实例总可用(购买)空间大小。此为循环使用空间,超出后则从最早的 Binlog 开始清理,直到空间使用率低于该比例且本地 Binlog 不超过保留时长。

热点问题

本地 binlog 保留设置过小是否会影响数据库恢复?

不影响,产生的 binlog 会通过自动备份功能尽快上传至 COS,尚未上传的 binlog 不会进行清理,本地 binlog 保留设置过小会影响回档速度,请进行适当配置。

本地 binlog 保留默认设置是多少?

本地 binlog 默认保留时长:120小时,空间使用率默认不超过30%,您可根据需要设置本地 binlog 保留时长。

binlog 是否会占用实例磁盘空间?

会,生成的 binlog 会先自动备份到 COS,备份后的 binlog 会根据设置保留策略进行删除,期间 binlog 会暂存至实例磁盘。

为什么我的本地 binlog 保留时长最低只能设置到120小时?

请检查您的实例是否是双节点或三节点实例并挂载有灾备实例,如果挂载有灾备实例,为了避免同步异常,该主实例的本地 binlog 保留时长最低只能设置到120小时。
请检查您选择修改本地 binlog 保留时长的实例是否是灾备实例,如果是灾备实例,为了保证灾备同步正常,灾备实例修改的范围是:120 - 168。

为什么我的主实例购买不了灾备实例?

若要为主实例创建灾备实例,需同时满足以下条件,您可对应检查。
主实例为双节点或三节点实例。
主实例的本地 binlog 保留时长大于等于120小时。
主实例为1GB内存、50GB硬盘及以上规格,且版本为 MySQL 5.6及以上版本(MySQL 5.6版本需 提交工单 申请使用此功能),引擎为 InnoDB 引擎。