第二:max_binlog_size

 

如果对二进制日志的写入导致当前日志文件大小超过此变量的值,则服务器会轮换二进制日志(关闭当前文件并打开下一个文件)。最小值为 4096 字节。最大值和默认值为 1GB。加密的二进制日志文件有一个额外的 512 字节标头,包含在 max_binlog_size.

事务以一个块写入二进制日志,因此它永远不会在多个二进制日志之间拆分。因此,如果您有大事务,您可能会看到大于 max_binlog_size.

如果max_relay_log_size为 0,则 的值也 max_binlog_size适用于中继日志。

在服务器上使用 GTID 时,当 max_binlog_size到达时,如果mysql.gtid_executed 无法访问系统表以从当前二进制日志文件中写入 GTID,则无法轮换二进制日志。在这种情况下,服务器会根据其binlog_error_action 设置进行响应 如果IGNORE_ERROR设置,则服务器上会记录错误并停止二进制日志记录;如果 ABORT_SERVER设置,则服务器关闭。

 

 

 

 

 第三:max_binlog_stmt_cache_size

如果事务中的非事务性语句需要超过这么多字节的内存,则服务器会生成错误。最小值为 4096。最大值和默认值在 32 位平台上为 4GB,在 64 位平台上为 16EB(艾字节)。该值必须是 4096 的倍数。

max_binlog_stmt_cache_size仅设置语句缓存的大小;事务缓存的上限完全由 max_binlog_cache_size 系统变量控制。

 

 

 

 

 

 

 #########

###########################