[转]生产环境下4G内存的MySQL配置文件参数详解

[client]???????????????????####客户端
port??=?3306???????????????####mysql客户端连接时的默认端口号
socket??=?/application/mysql-5.5.32/tmp/mysql.sock
[mysqld]
port??=?3306???????????????####mysql服务器监听的默认端口
socket??=?/application/mysql-5.5.32/tmp/mysql.sock
back_log?=?50??????????????####是指保持在操作系统监听队列的连接数量,即在MySQL连接管理器线程处理他们之前的连接数量
max_connections?=?100??????####MySQL允许的并发会话的最大数量
max_connect_errors?=?10????####每个主机允许的最大错误数量
table_open_cache?=?2048????####所有线程打开表的数字,文件描述符的大小
max_allowed_packet?=?16M???####服务器一次能处理的最大的查询包的值,也是服务器程序能够处理的最大查询
binlog_cache_size?=?1M?????####在一个事务中,二进制日志能够处理SQL语句的缓存的最大数字,如果你经常使用复杂语句的事务,你可以增大这个值获得更好的性能,事务中所有的语句都会被缓存到binlog中并且一次性的提交后立刻写入二进制日志中。如果处理的事务大于这个值,磁盘上的临时文件被代替使用,这个缓冲会在在事务中第一次有更改状态时,被分配的每个链接上。
max_heap_table_size?=?64M??####独立的内存表所允许的最大容量
read_buffer_size?=?2M??????####MySql读入缓冲区大小。
read_rnd_buffer_size?=?16M?####是MySql的随机读缓冲区大小。
sort_buffer_size?=?8M??????####?排序缓冲被用来处理类似ORDER?BY以及GROUP?BY队列所引起的排序
join_buffer_size?=?8M??????####此缓冲被使用来优化全联合(full?JOINs?不带索引的联合).
thread_cache_size?=?8??????####我们在cache中保留多少线程用于重用
thread_concurrency?=?8?????####此允许应用程序给予线程系统一个提示在同一时间给予渴望被运行的线程的数量.
query_cache_size?=?64M?????####查询缓冲的大小。查询缓冲常被用来缓冲?SELECT?的结果并且在下一次同样查询的时候不再执行直接返回结果.
query_cache_limit?=?2M?????####只有小于此设定值的结果才会被缓冲
ft_min_word_len?=?4????????####?被全文检索索引的最小的字长.
default-storage-engine?=?MYISAM????????####当创建新表时作为默认使用的表类型
thread_stack?=?192K????????????????????####线程使用的堆大小.?此容量的内存在每次连接时被预留
transaction_isolation?=?REPEATABLE-READ
tmp_table_size?=?64M???????????????????####内部(内存中)临时表的最大大小
log-bin=mysql-bin??????????????????????####打开二进制日志功能.
binlog_format=mixed????????????????????####设定记录二进制日志的格式,有三种格式,基于语句?statement、?基于行?row、?混合方式?mixed
slow_query_log?????????????????????????####记录慢查询,
long_query_time?=?2????????????????????####所有的超过这个参数时间的请求将被作为慢查询
server-id?=?1??????????????????????????####唯一的服务标识号,它的取值在1到?2^32-1之间,这个值在主服务器和从服务器是被要求设置的。他的默认参数是1,如果是主机不需要设置,但是如果忽略此选项,MySQL不会作为master生效.?
key_buffer_size?=?32M??????????????????####关键词缓冲的大小,?一般用来缓冲MyISAM表的索引块.
bulk_insert_buffer_size?=?64M??????????####MyISAM?使用特殊的类似树的cache来使得突发插入,(这些插入是,INSERT?…?SELECT,?INSERT?…?VALUES?(…),?(…),?…,?以及?LOAD?DATA?INFILE)?更快.?此变量限制每个进程中缓冲树的字节数.?
myisam_sort_buffer_size?=?128M?????????####当需要对于执行REPAIR,?OPTIMIZE,?ALTER?语句重建索引时,MySQL会分配这个缓存,以及LOAD?DATA?INFILE会加载到一个新表,它会根据最大的配置认真的分配的每个线程。?
myisam_max_sort_file_size?=?10G????????####当重新建索引(REPAIR,ALTER,TABLE,或者LOAD,DATA,TNFILE)时,MySQL被允许使用临时文件的最大值。
myisam_repair_threads?=?1??????????????####如果一个表拥有超过一个索引,?MyISAM?可以通过并行排序使用超过一个线程去修复他们.
myisam_recover?????????????????????????####自动检查和修复没有适当关闭的?MyISAM?表.
innodb_additional_mem_pool_size?=?16M??####附加的内存池被InnoDB用来保存?metadata?信息
innodb_buffer_pool_size?=?2G???????????####InnoDB使用一个缓冲池来保存索引和原始数据,?
innodb_data_file_path?=?ibdata1:10M:autoextend??####InnoDB?将数据保存在一个或者多个数据文件中成为表空间.
innodb_write_io_threads?=?8????????
innodb_read_io_threads?=?8?????????????####用来同步IO操作的IO线程的数量.
innodb_thread_concurrency?=?16?????????####使用InnoDB引擎,内核被允许的线程数,这个最佳值取决于应用程序,硬件还有操作系统的调度程序。太高的值肯定会导致线程抖动。
innodb_flush_log_at_trx_commit?=?1?????####如果设置为1?,InnoDB会在每次提交后刷新(fsync)事务日志到磁盘上,
innodb_log_buffer_size?=?8M????????????####用来缓冲日志数据的缓冲区的大小.
innodb_log_file_size?=?256M????????????####在日志组中每个日志文件的大小,
innodb_log_files_in_group?=?3??????????####在日志组中文件的总量,通常2-3就足够了
innodb_max_dirty_pages_pct?=?90????????####在InnoDB缓冲池中最大允许的脏页面的比例.
innodb_lock_wait_timeout?=?120?????????####在被回滚前,一个InnoDB的事务应该等待一个锁被批准多久.
[mysqldump]
quick
max_allowed_packet?=?16M??
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size?=?512M
sort_buffer_size?=?512M
read_buffer?=?8M
write_buffer?=?8M
[mysqlhotcopy]
interactive-timeout
[mysqld_safe]
open-files-limit?=?8192???????????????####每个程序允许打开文件的数量
from:http://oldboy.blog.51cto.com/2561410/1726517
此条目发表在MySql分类目录,贴了标签。将固定链接加入收藏夹。