# InnoDB相关参数
innodb_additional_mem_pool_size=3M # InnoDB用于存储元数据信息的内存池大小,一般不需修改
innodb_flush_log_at_trx_commit =1 # 事务相关参数,如果值为1,则InnoDB在每次commit都会将事务日志写入磁盘(磁盘IO消耗较大),这样保证了完全的ACID特性。而如果设置为0,则表示事务日志写入内存log和内存log写入磁盘的频率都为1次/秒。如果设为2则表示事务日志在每次commit都写入内存log,但内存log写入磁盘的频率为1次/秒。
innodb_log_buffer_size=2M # InnoDB日志数据缓冲大小,如果缓冲满了,就会将缓冲中的日志数据写入磁盘(flush)。由于一般至少都1秒钟会写一次磁盘,所以没必要设置过大,即使是长事务。
innodb_buffer_pool_size=105M # InnoDB使用缓冲池来缓存索引和行数据。该值设置的越大,则磁盘IO越少。一般将该值设为物理内存的80%。
innodb_log_file_size=53M # 每一个InnoDB事务日志的大小。一般设为innodb_buffer_pool_size的25%到100%
innodb_thread_concurrency=10 # InnoDB内核最大并发线程数,默认为10
innodb_file_per_table=1
# 开启单表单文件
innodb_open_files=1000 # 与 innodb_file_per_table 连用,默认值为300,设置为 < 1024 的值,否则会报错
例子:
innodb_log_buffer_size=8M
#使用默认的
innodb_flush_log_at_trx_commit=1 ,即每次都 commit ,所以可以设置小点
innodb_buffer_pool_size=8G
#
设置为物理内存的50%
innodb_log_file_size=512M
#设置为
innodb_buffer_pool_size 的16分之一,当然可以增大值到8分之一值(对应 mysql 下的 ib_logfile0的文件)
innodb_file_per_table=1
innodb_open_files=1000