bin log
DML语句机会写redo log 文件,也会写binlog文件,binlog在mysql数据库中至关重要,叫做mysql的二进制文件,功能应用于备份恢复,和主从复制,那么binlog cache刷新到binlog文件中,需要的刷新条件是什么呢?
通过sync_binlog参数来决定,该参数有N个值,
sync_binlog=0,当事物提交之后,mysql不做fsync之类的磁盘tongue刷新binlog_cache中的信息到磁盘,而让filesystem自行决定什么时候来同步,或者cache满了之后再同步。
sync_binlog=n,每惊醒n次事物提交后,mysql将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

为了确保安全性,我们可以将sync_binlog设置为1,
为了保证最价性能,我们可以将sync_binlog设置为0,

sync_binlog=1
innodb_flush_log_at_trx_commit=1
这就是数据库中的双一模式,可以确保数据更加安全。

show variables like ‘binlog_cache_size’;
±——————±——+
| Variable_name | Value |
±——————±——+
| binlog_cache_size | 32768 |#生产也是默认这个值,基于session,不需要太大。
±——————±——+
1 row in set (0.00 sec)


版权声明:本文为weixin_40524659原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_40524659/article/details/104385076