网站制作学习网→http://www.forasp.cn/→正文:mysql 删除/清除 binlog
字体:

mysql 删除/清除 binlog

http://www.forasp.cn/ 2023/3/24 15:24:58  点击:不统计

forasp.cn

mysql 删除/清除 binlog
 
mysql,binlog,清除,删除,binlog大小,binlog日志,过期,purge,expire_logs_days
 
 
mysql数据库中binlog 如mysql-bin.0xxx等 数量大,并且占地方,想删除部分binlog 怎么操作~
 
1. 设置binlog 保存时长,即多久的日志会binlog被保存
查看所有mysql binlog
mysql》 show binary logs;
运行
mysql》show variables like ‘expire_logs_days’;
 
±-----------------±------+
| Variable_name | Value |
±-----------------±------+
| expire_logs_days | 30 |
±-----------------±------+
 
可以看到 超时时间为30天,当日志超过30天后,会被自动清理。
 
我么可以修改为7天, 如果更改为0天,则表示不记录binlog
mysql》 set global expire_logs_days=7;
mysql》flush logs;
 
 
2. 设置binlog 保存的大小 ,默认mysql 为1G 即 1024M *1024K *1024KB  单位为Byte
运行 命令
mysql》show variables like 'max_binlog_size';
+-----------------+------------+
| Variable_name   | Value      |
+-----------------+------------+
| max_binlog_size | 1073741824 |
+-----------------+------------+
如果修改默认bin大小 比如100M  则 100*1024*1024 Byte
msyql 》set global max_binlog_size = 104857600;
 
备注
上述两1,2个修改都是在 命令行修改,重启后会失效,如果想修改彻底,则需要在my.cnf中 mysqld配置
#设置最大100MB
max_binlog_size=104857600   # 这里或者写100M
#设置了只保留7天BINLOG(单位:天)
expire_logs_days = 7
 
 
删除binlog 如下 3,4 注意 切勿删除正在使用的binlog!!!
 
3 如果想删除binlog日志,通过日期删除
删除 2023-03-10 10:00:00 之前的日志,命令行如下
mysql》purge binary logs before '2023-03-10 10:00:00'; 
 
 
4. 如果想删除binlog 日志,通过文件名删除,命令行如下
指定binlog 索引之前的文件名 比如  mysql-bin.000023 会删除 mysql-bin.000022 mysql-bin.000021 ...
mysql》purge master logs to 'mysql-bin.000023';  
指定 清除7天前的binlog
mysql》purge master logs before date_sub( now( ), interval 7 day);
 

·上一篇:非安装版mysql初始化 >>    ·下一篇:mysql select case >>
推荐文章
最新文章