back_log :
操作系统保持监听的队列,这个是在mysql 进行thread 进行连接之前的操作 如果你有很多的连接数 并且出现 connection refused 的错误提示,增加这个值肯定没错。 skip-networking :
这种是不在监听 TCP/IP 连接。这个时候只能通过socket 或者 named pip 连接 max_connect_errors:
允许每个host 连接出错的次数,如果达到该值,该host就不能在进行连接除非使用 flush hosts 命令或者重启数据库。错误的密码或者其他的错误会导致该值增加。这个时候可以看看 aborted_connects 状态变量来检验连接的变化。 binlog_cache_size
二进制日志中缓存,如果使用较大,且很多个语句的事务,增加该值能增加性能,当事务commit的时候 就会刷新的binary log中。如果事务大小 比 该值大,就会使用硬盘上的临时表。会降低性能 read_buffer_size
对于 full table scan 所使用的内存, read_rnd_buffer_size:
When reading rows in sorted order after a sort, the rows are read through this buffer to avoid disk seeks.对于使用order by语句 时,应增大该值。
sort_buffer_size
对于 order by 和 group by 查询很有利,如果sorted data 比sort buffer 大那就会使用磁盘上的临时表。 join_buffer_size
主要用于 join 查询中没有使用 索引的情况。可以观察 select_full_join 来确定这样的查询的数量 thread_concurrency:
cpus * (2..4) 让thread system 同时能有 N个线程运行 ft_min_word_len :
对于 full text search 的前缀索引长度的使用 thread_stack=240K
线程堆栈的大小, 该部分内存总会在建立连接的时候 进行保存 tmpdir = /usr/local/mysql/data
存储临时文件,比如: large sorts,temporary tables file MyISAM 部分: key_buffer_size
缓存 MyISAM 表的 索引部分,最大不要超过总内存的 30%,因为os也要缓存一 些rows。即使不使用 MyISAM表的时候 也需要设置 8--64M的 空间来 给 temporary disk table 使用。 bulk_insert_buffer_size:
MyISAM 使用像 tree一样的cache 来对 bulk insert 使用缓存,(INSERT ... SELECT, INSERT ... VALUES (...), (...), ..., and LOAD DATA INFILE)),变的更快,这个是线程级别的缓存,该值不要超过 key_buffer_size myisam_sort_buffer_size :
当mysql在 repair,optimize,alter table 和load data infile 等语句中 rebuild索引的时候,需要使用到该内存,这个是线程级别的内存。 myisam_max_sort_file_size 对上个参数最大值的限制、 myisam_repair_threads:
MyISAM 表中如果有多个index,Myisam 会使用多个线程来修复他们 by sorting in parallel。 myisam_recover :
Automatically check and repair not properly closed MyISAM tables ******INNODB Specific options****** innodb_additional_mem_pool_size :
is used by InnoDB to store metadata information;;If InnoDB requires more memory for this purpose it will start to allocate it from the OS. 他的状态可以在 show innodb status 中进行查看 innodb_buffer_pool_size:
设置太高的话,可能会造成物理内存中 page cache的竞争。 innodb_thread_concurrency:
多少个 线程 可以同时被 innodb kernel 处理,该值取决于 app,硬件和操作系统调用。 太高的值可能导致系统波动。 innodb_log_file_size
大小通常是 innodb_buffer_pool_size的 25%--100% innodb_lock_wait_timeout 可以防止死锁吗?