Zhe*_*nyu 3 mysql mysql-5.5 binlog
我必须手动写
purge binary logs bin to "mysql-bin.somenumbers" ;
Run Code Online (Sandbox Code Playgroud)
有时,我需要减少二进制日志在我的 Web 服务器上占用的空间。是否可以每两周自动清除一次二进制日志箱?可能在 crontab 中调用 bash 脚本?
我在CentOS 6.5上运行MySQL 5.5
我很高兴你找到了自己的答案。
我确信您发现您可以将其添加到my.cnf
[mysqld]
expire_logs_days = 14
Run Code Online (Sandbox Code Playgroud)
您不必重新启动 mysql。您登录root@localhost
并运行:
mysql> SET GLOBAL expire_logs_days = 14;
Run Code Online (Sandbox Code Playgroud)
要立即触发自动旋转,请运行
mysql> FLUSH LOGS;
Run Code Online (Sandbox Code Playgroud)
如果要从 mysql 控制台删除两周前的二进制日志,请使用PURGE BINARY LOGS BEFORE语法。例如,以下查询将提供从今天开始两周前的午夜:
SELECT DATE(NOW() - INTERVAL 2 WEEK) + INTERVAL 0 SECOND;
Run Code Online (Sandbox Code Playgroud)
只需将该查询应用于PURGE BINARY LOGS BEFORE
PURGE BINARY LOGS BEFORE (DATE(NOW() - INTERVAL 2 WEEK) + INTERVAL 0 SECOND);
Run Code Online (Sandbox Code Playgroud)