我在Centos 6上运行了MySQL 5.7。我启用了二进制日志记录,并且没有为我的配置文件中的二进制日志的最大大小提供任何自定义值。默认情况下,参数 max_binlog_size = 1073741824 ,相当于1GB。这意味着,一旦二进制日志达到1GB的大小,就应该创建一个新文件。
我在我的服务器中观察到所有二进制日志文件都有不同的大小,对比度很高,如200GB,165GB,4GB等......
为什么在二进制日志文件的最大大小为1GB时会发生这种情况?是否有必要在配置文件中明确提及默认的最大大小?
答案 0 :(得分:0)
如果对二进制日志的写操作导致当前日志文件大小超过此变量的值,则服务器将旋转二进制日志(关闭当前文件并打开下一个日志)。最小值为4096字节。最大值和默认值为1GB。
事务以一个大块的形式写入二进制日志,因此永远不会在多个二进制日志之间进行拆分。因此,如果您的交易量很大,则可能会看到二进制日志文件大于max_binlog_size。
如果max_relay_log_size为0,则max_binlog_size的值也适用于中继日志。
https://dev.mysql.com/doc/refman/5.7/en/replication-options-binary-log.html