mysql 的 max_binlog_cache_size 和 binlog_cache_size

事务大小小于binlog_cache_size 使用内存
在binlog_cache_size 和 max_binlog_cache_size 之间会使用磁盘,
超过 max_binlog_cache_size 事务就报错了 会报 Multi-statement transaction required more than‘max_binlog_cache_size’ bytes of storage

mysql 5.7限制 max_binlog_cache_size 为4G 因此过大的事务是不能打开binlog的。

stackoverflow大神解答
1. Transaction size is below @@binlog_cache_size
(transaction succeeds, uses the cache, does not use the disk)
2. Transaction size is above @@binlog_cache_size, but below @@max_binlog_cache_size
(transaction uses the cache, and the cache uses the disk)
3. Transaction size exceeds @@max_binlog_cache_size
(transaction fails)

参考:
MySQL - max_binlog_cache_size vs binlog_cache_size
8G内存下MySQL的优化详细方案

© 2017, 新之助meow. 原创文章转载请注明: 转载自http://www.xinmeow.com

0.00 avg. rating (0% score) - 0 votes
点赞