innodb_buffer_pool_size
定义了innodb存储引擎的表数据和索引数据的最大内存缓冲区大小,值越高需要需要访问的IO就越小。在专用服务器上可以设置包80%。建议不到80%,避免操作系统操作调度。
innodb_flush_log_at_trx_commmit
控制缓冲区中的数据写入到日志文件以及日志文件数据刷新到磁盘的操作时机。值得情况如下:
- 0,日志每秒一次刷新到日志文件,并且对日志文件做向磁盘刷新的操作,事务的提交不触发日志记录
- 1,在每个事务提交时,日志缓冲被写到日志文件,并让日志文件向磁盘做刷新操作。
- 2,在每个事务提交时,日志缓冲被写到日志文件,但不对日志文件做向磁盘刷新的操作,对日志文件每秒向磁盘做一次刷新操作。
默认为1,但是有一定的性能损耗,最高性能是0,但是在灾难时,会丢失数据。2是折中的方案。
innodb_log_buffer_size
日志大小,不必设置太大,每秒都会刷新一次。当有大量更新时,可以增加大小。系统默认1M。
innodb_log_file_size
log group中每个日志文件的大小,高写入的负载,该值需要较大的值,系统默认5M.
innodb_additional_mem_pool_size
用来存储数据结构和表结构的内存池大小,系统默认1M,表很多内存不足的情况下,mysql日志将会警报
innodb_lock_wait_timeout
死锁等待多久后,回滚事务。默认为50秒
网友评论