【MySQL】参数:innodb_flush_log_at_trx_commit 和 sync_binlog

innodb_flush_log_at_trx_commit

innodb_flush_log_at_trx_commit:是 InnoDB 引擎特有的ib_logfile的刷新方式( ib_logfile:记录的是redo log和undo log的信息)。

img

sync_binlog

sync_binlog:是MySQL 的二进制日志(binary log)同步到磁盘的频率。

sync_binlog=0,当事务提交之后,MySQL不做fsync之类的磁盘同步指令刷新binlog_cache中的信息到磁盘,而让Filesystem自行决定什么时候来做同步,或者cache满了之后才同步到磁盘。这个是性能最好的。

sync_binlog=1,当每进行1次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

sync_binlog=n,当每进行n次事务提交之后,MySQL将进行一次fsync之类的磁盘同步指令来将binlog_cache中的数据强制写入磁盘。

原文地址:https://www.cnblogs.com/jmliao/p/12507783.html