即使将最大大小设置为 1 GB,我的一台服务器中的二进制日志也已增长超过 15 GB。MySQL 服务器也无法启动。
有人能指出这可能是什么原因造成的吗?
谢谢。
答案1
这可能是一项巨额交易。
事务以一个块的形式写入二进制日志,因此它永远不会被分割到几个二进制日志中。因此,如果你有大量事务,您可能会看到二进制日志文件大于max_binlog_size。
答案2
mysql varmax_binlog_size
设置当前写入 binlog 文件的大小。当达到该阈值时(如果您有打开的事务,它可能会超出该阈值),将启动一个新的日志文件。它不控制所有日志文件的聚合也将增长的最大允许空间。据我所知 - 除非最近才引入,否则没有针对此的设置。我通常会清除超过某个阈值的旧 binlog。例如。
expire_logs_days = 90
通常,您希望保留自上次已知良好转储或其他崩溃一致备份以来的 binlog。