首页 > 编程笔记 > MySQL笔记 阅读:19

MySQL innodb_flush_log_at_trx_commit参数的设置(新手必看)

在 [mysqld] 中,对 innodb_flush_log_at_trx_commit 参数的定义如下:
[root@localhost~]#mysqld --verbose --help|grep
"\-\-innodb_flush_log_at_trx_commit" -A 3
--innodb_flush_log_at_trx_commit[=#]
                     Set to 0 (write and flush once per second), 1 (write and
                     flush at each commit) or 2 (write at commit, flush once
                     per second).
该参数用来控制将缓冲区的数据写入日志文件和将日志文件数据刷新到磁盘的操作时间。

对该参数的设置可以在数据库的性能与数据库的安全之间进行折中:
innodb_flush_log_at_trx_commit 参数只有 3 个值,默认值为 1,也是最安全的设置。出于性能考虑,可以设置为 0 或者 2,但会在数据库崩溃的时候丢失一秒钟的事务。为了保证事务的持久性和复制设置的一致性,建议将这个参数设置为 1。

相关文章