my.cnf部分参数详解

[mysqld]

连接相关:

wait_timeout = 1800                                                       

interactive_timeout=1800            

这两个参数都是表示连接最大空闲时长,区别:interactive_timeout针对交互式连接(客户端),wait_timeout针对非交互式连接(程序)。

connect_timeout:重连超时时间

back_log =500:MySQL暂时停止回答新请求之前(MySql的连接数达到max_connections时)的短时间内多少个请求可以被存在堆栈中

max_connections:服务器最大并发连接数

max_user_connections:每个数据库用户的最大连接,注意是以用户+主机为单位

I/O相关:

innodb_flush_log_at_trx_commit=1:redo刷盘策略

sync_binlog=1:binlog刷盘策略

如果要求数据不能丢失,那么两个都设为1。如果允许丢失一点数据,则可分别设为2和10。而如果完全不用care数据是否丢失的话(例如在slave上,反正大不了重做一次),则可都设为0。这三种设置值导致数据库的性能受到影响程度分别是:高、中、低,也就是第一个会另数据库最慢,最后一个则相反;

per_thread_buffer相关(每个连接的用户进程分配的内存):

read_buffer_size:用于表的顺序扫描,比如全表扫描时读取的数据块会暂存在这里,写满后返回给调用者。一般配置128-256K

read_rnd_buffer_size:用于表的随机读取,比如按非索引字段排序时,会用到这个缓冲区暂存读取的数据。一般在128-256K

sort_buffer_size:无索引排序操作缓存,128-256K

thread_stack:每个线程的堆栈大小,256K

join_buffer_size:关联字段无索引会用到using_join_buffer,256K

binlog_cache_size:无大事务,写入不频繁,设置为2M左右,否则可适当增加

global_buffer相关:

innodb_buffer_pool_size:innodb核心内存参数,一般设置为系统内存60%-80%

innodb_log_buffer_size:innodb写redo时,为了提高性能,先将信息写入该缓存,根据innodb_flush_log_at_trx_commit策略刷入磁盘,一般设置16-64M

key_buffer_size:缓存MyISAM存储引擎的索引参数,就算innodb引擎,内部磁盘临时表是myisam,64M

你可能感兴趣的:(my.cnf部分参数详解)