Mysql关闭general日志、binlog日志设置失效并自动删除

本文介绍如何管理和优化MySQL数据库中的binary日志和general日志。针对binary日志,可以通过设置expire_logs_days参数来自动删除过期日志。对于general日志,可以根据需求选择开启或关闭,避免不必要的磁盘空间占用。
摘要由CSDN通过智能技术生成
问题:
Mysql数据库由于业务原因,数据量增长迅速,general日志、binlog日志也增加较多,占用大部分磁盘空间。

解决方案:
出于节约空间考虑,可进行删除多余binary日志,并设置定期删除操作。
相关参数如下“expire_logs_days”、“general_log”:
1、binary日志(此变量值为可动态修改)
查看当前binary日志失效、自动删除的状态:
show global variables like '%expire_logs_days%';
select @@global.expire_logs_days;
如下:

expire_logs_days=0:表示,所有binary日志永久都不会失效,不会自动删除;

目前需求,只想保留七天日志,其余日志打包、压缩后备份至其他地方:
修改方式:
永久生效(重启后即生效):
修改配置文件my.ini(window系统环境下,若为Linux环境,则修改my.cnf文件)文件:
在[mysqld]标签内增加如下内容
expire_logs_days=7


即时生效(若不修改配置文件,则重启后失效):
set @@global.expire_logs_days=7;
再一次查询验证:
tips:此参数为整数型,默认为0(不删除),且最小值为0,最大值为99。



2、general日志(此变量值为可动态修改)
查看当前general_log状态:
select @@global.general_log;
结果为开启状态:



修改方式:
修改配置文件my.ini()文件:
在my.ini文件的[mysqld]标签中,增加如下内容后,重启:
general-log=0 #0:关闭;1:开启


修改后即时生效(若不修改配置文件,重启数据库后失效)
set @@global.general_log=0;  #  0:关闭;1:开启
set global gereral_log=0;
再次查看验证:

tips:此参数为布尔型,0:代表关闭;1:代表开启。可动态修改,默认关闭。
若数据库运行过程中,才发现general日志为开启状态,当业务不予许暂停情况下,依旧可以使用动态修改关闭,并且关闭后可对general日志进行物理文件的删除。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值