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 可以防止死锁吗?