mysql的binlog安全删除
admin
2023-05-18 04:42:07
0

 1.手动清除binlog文件    

        理论上,应该在配置文件/etc/my.cnf中加上binlog过期时间的配置项,expire_logs_days = 10.但是如果没有加这一项,随着产生越来越多的binlog,磁盘被吃掉了不少。可以直接删除binlog文件,但是可以通过mysql提供的工具来删除更安全。因为purge会更新mysql-bin.index中的条目,而直接删除的话,mysql-bin.index文件不会更新。mysql-bin.index的作用是加快查找binlog文件的速度。

       先help一下吧mysql的binlog安全删除  

 mysql> help purge
 Name: 'PURGE MASTER LOGS'
 Description:
 Syntax:
 PURGE {MASTER | BINARY} LOGS TO 'log_name'
 PURGE {MASTER | BINARY} LOGS BEFORE 'date'

 Deletes all the binary logs listed in the log index prior to the
 specified log or date. The logs also are removed from the list recorded
 in the log index file, so that the given log becomes the first.

 This statement has no effect if the --log-bin option has not been
 enabled.

 URL: http://dev.mysql.com/doc/refman/5.0/en/purge-master-logs.html

 Examples:
 PURGE MASTER LOGS TO 'mysql-bin.010';
 PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';

 两种方法都可用。第一个是删除至某一个文件为止,第二个是删除到某个日期为止。

 比如我们删除2017-05-31之前的log,可以这样

 mysql>PURGE MASTER LOGS BEFORE '2017-05-31 00:00:00';

2.设置expire_logs_days

# vim /etc/my.cnf  //修改expire_logs_days,x是自动删除的天数,一般将x设置为短点,如10            
 expire_logs_days = x  //二进制日志自动删除的天数。默认值为0,表示“没有自动删除”

      此方法需要重启mysql,附录有关于expire_logs_days的英文说明

      当然也可以不重启mysql,开启mysql主从,直接在mysql里设置expire_logs_days

   > show binary logs;
  > show variables like '%log%';
  > set global expire_logs_days = 10;

需要注意的是:最好到slave上面去看下当前同步到那个binlog文件了,用show slave status查看。否则,master上删多了的话,就造成slave缺失日志文件而导致数据不一致了。


相关内容

热门资讯

特朗普:霍尔木兹海峡已有协议,... 财联社8月3日电,美国总统特朗普表示,霍尔木兹海峡已有协议,无核化也将达成协议。正在以谈判的形式与伊...
中国地震局启动四级应急响应,现... 据中国地震台网正式测定,2026年8月3日2时21分,在四川宜宾市高县(北纬28.54度,东经104...
以称内塔尼亚胡通过特朗普社媒得... △特朗普社交媒体发文截图总台记者当地时间2日获悉,多名以色列官员称,在美国取消针对伊朗的既定袭击计划...
500左右的手柄怎么选?swi... 现在游戏手柄早已成为热门数码外设,跟风入手的玩家数不胜数,但不清楚500左右的手柄怎么选的人同样不在...
原创 美... 2026年1月1日,美国太空探索技术公司“星链”工程副总裁迈克尔尼科尔斯高调宣布,计划2026年降低...
原创 全... 现在的屏幕设计,拥有两大类型,分别是折叠屏、直板机,而类型之间拥有多种形态。其中的折叠屏,拥有阔折叠...
原创 流... 最近,通信圈的两则消息引发了轩然大波。一方面,中国电信宣布自8月1日起全面停止第三方互联网渠道的办卡...
伊朗重申霍尔木兹海峡不会恢复至... △伊朗外交部发言人巴加埃(资料图)当地时间2日,伊朗外交部发言人巴加埃表示,伊方重申,霍尔木兹海峡的...
伊朗外长:与阿曼谈判接近完成 △伊朗外交部长阿拉格齐(中)当地时间8月2日,伊朗外交部长阿拉格齐在政府内阁会议上介绍伊朗与阿曼谈判...
河南2026年“三支一扶”计划... 针对近期备受关注的2026年河南省“三支一扶”计划招募相关舆情,河南省“三支一扶”领导小组协调办公室...