我有一个主 mysql 服务器,只有一个连接的从属服务器。
我已将主服务器配置为保留日志 2 天,但在像我这样的简单配置中,可以配置一个环境,其中主日志一旦被唯一一个从属服务器消耗就被删除?
最佳答案
不,您所描述的内容没有选项。
原因是复制是异步的。源不知道订阅了多少副本,它只知道在任何给定时间连接了哪些副本。也就是说,副本可能处于离线状态,并期望重新连接并从其停止的位置继续读取二进制日志。
MySQL 中用于二进制日志过期的唯一选项是配置变量 config_logs_days
。
Percona 服务器添加 another option ,如果文件数量超过 max_binlog_files ,则使 binlog 过期。如果在 expire_logs_days
导致旧日志过期之前出现短暂的高流量突发,这有助于避免磁盘空间不足。
关于database-replication - mysql复制: remove consumed logs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320538/