【发布时间】:2014-01-23 22:21:01
【问题描述】:
我有一个主 mysql 服务器,只连接了一个从属服务器。
我已将我的主服务器配置为将日志保留 2 天,但在像我这样的简单配置中,可以配置一个环境,其中主日志一旦被唯一的从属服务器使用就被删除?
【问题讨论】:
标签: mysql database-replication mysql-management
我有一个主 mysql 服务器,只连接了一个从属服务器。
我已将我的主服务器配置为将日志保留 2 天,但在像我这样的简单配置中,可以配置一个环境,其中主日志一旦被唯一的从属服务器使用就被删除?
【问题讨论】:
标签: mysql database-replication mysql-management
不,您所描述的内容没有选择。
原因是复制是异步的。主服务器不知道订阅了多少从服务器,它只知道在任何给定时间连接了哪些从服务器。也就是说,slave 可能处于离线状态,并希望重新连接并从中断的地方继续读取 binlog。
库存 MySQL 中用于二进制日志过期的唯一选项是配置变量 config_logs_days。
Percona Server 添加another option,如果文件数超过max_binlog_files,则使binlogs过期。如果您在expire_logs_days 导致旧日志过期之前有短暂的高流量突发,这有助于避免磁盘空间不足。
【讨论】:
MySQL Utilities 包含一个命令行工具,用于清除主服务器上已被从服务器使用的二进制日志。
http://dev.mysql.com/doc/mysql-utilities/1.6/en/mysqlbinlogpurge.html
【讨论】: