MySQL 8.0关闭binlog

本文介绍如何在MySQL 8.0中关闭默认开启的Binlog功能。通过在配置文件中添加特定参数并重启服务实现。此外,文章还展示了关于Binlog配置的相关全局变量。

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

MySQL 8.0关闭binlog默认开启binlog,即使在my.ini或my.cnf的[mysqld]部分没有

log_bin

log_bin = mysql-bin

binlog默认在Linux的/var/lib/mysql目录下,文件名为binlog.000001格式,在Windows的data目录下,文件名为binlog.000001格式

相当于默认有 log_bin=binlog 参数 

如果需要关闭binlog

在my.ini或my.cnf的[mysqld]部分添加skip-log-bin,然后重启mysql即可。

show global variables like 'log_bin%';

Variable_name                  |Value                      |
-------------------------------|---------------------------|
log_bin                        |ON                         |
log_bin_basename               |/var/lib/mysql/binlog      |
log_bin_index                  |/var/lib/mysql/binlog.index|
log_bin_trust_function_creators|OFF                        |
log_bin_use_v1_row_events      |OFF                        |

show global variables like '%logs%';

Variable_name             |Value  |
--------------------------|-------|
binlog_expire_logs_seconds|2592000|
expire_logs_days          |0      |
innodb_print_ddl_logs     |OFF    |

binlog默认保存30天

show global variables like '%binlog_format%';

Variable_name|Value|
-------------|-----|
binlog_format|ROW  |

### MySQL 8.0 中删除 Binlog 的策略配置方法 在 MySQL 8.0 中,可以通过多种方式来管理和优化二进制日志(Binlog)的存储策略。以下是关于如何设置或更改删除 Binlog 策略的具体说明: #### 设置全局变量 `binlog_expire_logs_seconds` 来控制过期时间 可以动态调整全局变量 `binlog_expire_logs_seconds` 来定义 Binlog 文件保留的时间长度。该参数以秒为单位指定 Binlog 过期时间[^1]。 ```sql SET GLOBAL binlog_expire_logs_seconds = 86400; ``` 上述命令表示将 Binlog 的有效期设置为一天(即 86,400 秒)。一旦超过此期限,MySQL 将自动清理这些过期的日志文件。 #### 修改配置文件 `my.cnf` 实现持久化设定 为了使 Binlog 配置在服务器重启后仍然有效,建议编辑 MySQL 的配置文件 `my.cnf` 并添加如下内容[^3]: ```ini [mysqld] binlog_expire_logs_seconds=604800 ``` 此处示例中的值代表七天的有效期(60 * 60 * 24 * 7 = 604,800 秒)。完成修改之后需要重新启动 MySQL 服务才能应用新的配置项。 #### 手动触发日志轮转操作 即使设置了自动清除机制,在某些情况下可能还需要手动执行日志切换以便立即释放磁盘空间。这可通过运行以下 SQL 命令实现[^4]: ```sql FLUSH LOGS; ``` 这条语句的作用是关闭当前正在使用的 Binlog 文件并创建一个新的文件继续记录事务变化。与此同时,任何已经满足条件的老版本日志会被移除。 #### 查看现有 Binlog 状态及相关信息 要确认目前系统的 Binlog 开启情况以及相关属性值,可利用下面这个查询指令获取详情: ```sql SHOW VARIABLES LIKE 'log_bin'; SHOW BINARY LOGS; ``` 以上两条命令分别用于验证是否开启了 Binlog 功能和支持查看现有的所有 Binary Log 列表及其大小等元数据信息。 --- ### 总结 通过合理规划和管理 MySQL 8.0 下的 Binlog 生命周期不仅可以减少不必要的磁盘占用还能提高整体性能表现。具体做法包括但不限于实时调节全局参数、更新初始化脚本内的长期选项还有定期实施强制性的日志滚动动作等等措施相结合的方式达成目标效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值