典型参数组合推荐 本页介绍了关系数据库MySQL版的一些典型参数组合推荐。 "innodbflushlogattrxcommit"和"syncbinlog"是两个关键参数,用于控制mysql的磁盘写入策略和数据安全性。这两个参数的取值不同会对性能和数据安全性产生不同的影响。它们在决定数据何时写入磁盘以及是否进行同步写入binlog的过程中发挥重要作用。 参数说明 innodbflushlogattrxcommit 允许值:0,1,2 描述:当重新安排并批量处理与提交相关的I/O操作时,可以控制磁盘的写入策略,严格遵守ACID合规性和高性能之间的平衡,该参数默认值为“1”。 0:日志缓存区将每隔一秒写到日志文件中,并且将日志文件的数据刷新到磁盘上。该模式下在事务提交时不会主动触发写入磁盘的操作。 1:每次事务提交时mysql都会把日志缓存区的数据写入日志文件中,并且刷新到磁盘中,该模式为系统默认。 2:每次事务提交时mysql都会把日志缓存区的数据写入日志文件中,但是并不会同时刷新到磁盘上。该模式下,mysql会每秒执行一次刷新磁盘操作。 说明: 当设置为0,该模式速度最快,但不太安全,mysqld进程的崩溃会导致上一秒钟所有事务数据的丢失。 当设置为1,该模式是最安全的,但也是最慢的一种方式。在mysqld服务崩溃或者服务器主机宕机的情况下,日志缓存区只有可能丢失最多一个语句或者一个事务。 当设置为2,该模式速度较快,较取值为0情况下更安全,只有在操作系统崩溃或者系统断电的情况下,上一秒钟所有事务数据才可能丢失。