「MySQL」 MySQL v8.0 binlog 保存时长设置

本文记录了由于MySQL binlog默认保存30天导致磁盘满的问题及其解决方案。在大促期间,binlog占用近200GB空间。解决方案包括更改binlog的存储天数,通过`set global binlog_expire_logs_seconds=604800;`设置为7天,并使用`flush logs`清理过期日志。
摘要由CSDN通过智能技术生成

618 前,在某东项目上遇到了一个磁盘满导致程序崩溃的问题。通过检查磁盘容量,发现三套系统跑起来的数据库容量一般(不至于导致磁盘满),继续分析发现MySQL 数据Data目录下的binlog 保存了默认30天,其中在大促期间,所占空间接近200G内存, 所以在网上寻找解决办法,并记录下来,方便以后作为参考。

binlog简单介绍

MySQL的binlog日志作用是用来记录MySQL内部增删改查等对MySQL数据库有更新的内容的记录(对数据库的改动),对数据库的查询select或show等不会被binlog日志记录;主要用于数据库的主从复制以及增量恢复。

解决方案

在MySQL 中可以通过启用禁用log-bin功能或者更改存储binlog的时间来减少存储。我在项目上是将默认的30天更改为了7天以达到目的。

步骤说明

1. DOS命令登录到MySQL

在登录工程中遇到了一个1045 无法登录error,如下图:

解决方法:需要在my.ini [mysqld]  下添加 skip-grant-tables, 其中my.ini路径如下图所示:

my.ini 中修改位置如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值