网站seo基本流程,丹徒网站建设哪家好,个人手机网站大全,大型电子商务建设公司一、binlog_expire_logs_seconds 配置项
mysql 8.0使用配置项 binlog_expire_logs_seconds 设置binlog过期时间#xff0c;单位为秒。
mysql旧版本使用配置项 expire_logs_days 设置binlog过期时间#xff0c;单位为天#xff0c;不方便测试。
在 8.0 使用 expire_logs_d…一、binlog_expire_logs_seconds 配置项
mysql 8.0使用配置项 binlog_expire_logs_seconds 设置binlog过期时间单位为秒。
mysql旧版本使用配置项 expire_logs_days 设置binlog过期时间单位为天不方便测试。
在 8.0 使用 expire_logs_days 会提示The syntax expire-logs-days is deprecated and will be removed in a future release. Please use binlog_expire_logs_seconds instead.
但是也可以生效生效规则是
1、当mysql启动时参数文件中binlog_expire_logs_seconds和expire_logs_days都没配置的时候mysql会使用binlog_expire_logs_seconds作为默认配置并且默认值为2592000秒即30天。
2、当mysql启动时参数文件中binlog_expire_logs_seconds和expire_logs_days有一个设置为非0值则非0值的参数作为binlog日志的失效期。
3、在使用了binlog_expire_logs_seconds作为binlog的配置文件此时在修改expire_logs_days会抛出错误不允许同时使用binlog_expire_logs_seconds和expire_logs_days。
binlog_expire_logs_seconds 可以在配置文件中设置
[mysqld] binlog_expire_logs_seconds604800 #日志过期时间为7天默认30天 max_binlog_size256M #单个binlog最大256M默认1G
也可以通过mysql命令行设置
set global binlog_expire_logs_seconds604800;
查看是否设置成功
show variables like binlog_expire_logs_seconds; 二、触发删除的时机有两个
1、当正在写入的binlog达到 max_binlog_size 时触发新建binlog和删除过期binlog。
2、手动触发如在mysql命令行执行flush logs 或 flush binary logs
查看binlog情况
1、mysql命令行执行show binary logs 2、到数据文件目录查看 达到触发时机时会新增binlog文件并删除过期的binlog。
三、过期时间指的是文件的修改时间不是内容的真实产生时间。
如果手动修改了binlog的最后更改时间则会影响过期删除。
如把binlog修改为最新时间则不会被过期删除
touch -t 202309191200 -m binlog.000002
如把binlog修改为过期的时间则触发删除时会被过期删除
touch -t 202308191200 -m binlog.000002
四、binlog是按顺序过期删除
如果把最早的binlog最后更改时间改为较新的时间则不但自己不会被过期删除自己后面序号的binlog也不会被过期删除。
如把binlog.000002的最后更改时间修改为当前时间则虽然binlog.000003已经过期但不会被过期删除。
--end--