【问题标题】:mysql replication: remove consumed logsmysql复制:删除消耗的日志
【发布时间】:2014-01-23 22:21:01
【问题描述】:

我有一个主 mysql 服务器,只连接了一个从属服务器。

我已将我的主服务器配置为将日志保留 2 天,但在像我这样的简单配置中,可以配置一个环境,其中主日志一旦被唯一的从属服务器使用就被删除?

【问题讨论】:

    标签: mysql database-replication mysql-management


    【解决方案1】:

    不,您所描述的内容没有选择。

    原因是复制是异步的。主服务器不知道订阅了多少从服务器,它只知道在任何给定时间连接了哪些从服务器。也就是说,slave 可能处于离线状态,并希望重新连接并从中断的地方继续读取 binlog。

    库存 MySQL 中用于二进制日志过期的唯一选项是配置变量 config_logs_days

    Percona Server 添加another option,如果文件数超过max_binlog_files,则使binlogs过期。如果您在expire_logs_days 导致旧日志过期之前有短暂的高流量突发,这有助于避免磁盘空间不足。

    【讨论】:

      【解决方案2】:

      MySQL Utilities 包含一个命令行工具,用于清除主服务器上已被从服务器使用的二进制日志。

      http://dev.mysql.com/doc/mysql-utilities/1.6/en/mysqlbinlogpurge.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-25
        • 2016-07-12
        • 1970-01-01
        • 1970-01-01
        • 2018-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多