二進制日志緩沖區嗎,默認是32k。該參數是基於會話的,不要設置過大。
當事務的記錄大於設定的binlog_cache_size時,mysql會把緩沖區中的日志信息寫入一個臨時文件中,所以該值也不能設置過小。
查看設置
mysql> show variables like 'binlog_cache_size'; +-------------------+-------+ | Variable_name | Value | +-------------------+-------+ | binlog_cache_size | 32768 | +-------------------+-------+ 1 row in set (0.00 sec) mysql>
驗證binlog_cache_size設置是否合理
通過查看show global status中的,Binlog_cache_disk_use和Binlog_cache_use
分析下面的結果,可以看出binlog_cache_size設置低了。
mysql> show global status like 'binlog_cache_%'; +-----------------------+-------+ | Variable_name | Value | +-----------------------+-------+ | Binlog_cache_disk_use | 1008 | #記錄了使用臨時文件寫二進制日志的次數 | Binlog_cache_use | 5721 | #使用緩沖的次數 +-----------------------+-------+ 2 rows in set (0.00 sec) mysql>