- 登录到MySQL服务器:
mysql -u root -p
- 查看当前的
binlog_expire_logs_seconds
值:
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
- 设置
binlog_expire_logs_seconds
值。例如,如果要将二进制日志文件的过期时间设置为1天(86400秒),可以执行以下命令:
SET GLOBAL binlog_expire_logs_seconds = 86400;
这个命令只会影响新生成的二进制日志文件,已经存在的二进制日志文件的过期时间不会改变。
注意,只有具有SUPER
权限的用户才能设置binlog_expire_logs_seconds
系统变量。
- 为了让这个设置在MySQL服务器重启后仍然有效,需要将它添加到MySQL的配置文件中。
打开MySQL的配置文件
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]
部分添加以下行:
binlog_expire_logs_seconds = 86400
然后保存并关闭配置文件。
- 重启MySQL服务器以使新的设置生效
sudo service mysql restart
- 再次查看当前的
binlog_expire_logs_seconds
值以确保设置生效
SHOW VARIABLES LIKE 'binlog_expire_logs_seconds';
现在,MySQL服务器会自动删除超过1天的二进制日志文件。