mysql的参数设置

来源:互联网 发布:淘宝收藏有礼怎么设置 编辑:程序博客网 时间:2024/05/17 03:32

http://www.jb51.net/article/26470.htm

http://www.jb51.net/article/26471.htm

http://tech.it168.com/a2009/0429/274/000000274277_2.shtml

http://blog.sina.com.cn/s/blog_7fe211be01010lax.html





网上教mysql参数设置的文章相当多,这里只归纳几个常用上的

flush privileges;­刷新



1,临时表

show status”命令返回的状态进行微调。我主要注意以下变量的数值,越小越好,最好为零:)
Created_tmp_disk_tables
Created_tmp_tables
Created_tmp_files
Slow_queries


.如果Created_tmp_disk_tables太大,就要增加my.cnf中tmp_table_size的值,用基于内存的临时表代替基于磁盘的




2,max_connections,100是不够的.要大于threads_connected值。


1、数据库系统允许的最大可连接数max_connections。这个参数是可以设置的。如果不设置,默认是100。最大是16384。
2、数据库当前的连接线程数threads_connected。这是动态变化的。
查看max_connections、max_connections的办法见后。
如果 threads_connected == max_connections 时,数据库系统就不能提供更多的连接数了,这时,如果程序还想新建连接线程,数据库系统就会拒绝,如果程序没做太多的错误处理,就会出现类似强坛的报错信息。


Max_used_connections 同时使用的连接数

Max_used_connections / max_connections * 100% ≈ 85%



3,基本上所有教程都会建议关掉skip-name-resolve,但我就试过关了后,提示127.0.0.1不能连接

skip-locking
#避免MySQL的外部锁定,减少出错几率增强稳定性。
skip-name-resolve
#禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!
back_log = 384
#back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。



4,query_cache_size查询缓冲

SHOW STATUS LIKE 'Qcache%';


如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,就要增加Query_cache_size的值。

如果Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,如果该值较小反而会影响效率,那么可以考虑不用查询缓冲

Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多




5,key

key_buffer_size是对MyISAM表性能影响最大的一个参数


show global status like "key_read%";

如果Key_reads太大,则应该把my.cnf中Key_buffer_size变大,保持Key_reads/Key_read_requests至少1/100以上,越小越好

Key_blocks_used / (Key_blocks_unused + Key_blocks_used) * 100%≈ 80%



6,opened_tables

opened_tables太大,应该把my.cnf中的table_cache变大


7,索引

如果Handler_read_rnd太大,则你写的SQL语句里很多查询都是要扫描整个表,而没有发挥索引的键的作用


8,thread

如果Threads_created太大,就要增加my.cnf中thread_cache_size的值.可以用Threads_created/Connections计算cache命中率




9,aborted

aborted_clients 客户端非法中断连接次数

  aborted_connects 连接mysql失败次数




10,日志

http://blog.sina.com.cn/s/blog_406127500100pvar.html

调试须要查看日志,至于慢查询就要看具体需要了

log-error=/usr/local/mysql/log/error.log 
log=/usr/local/mysql/log/mysql.log 
long_query_time=2 
log-slow-queries= /usr/local/mysql/log/slowquery.log



11,timeout

http://blog.csdn.net/daemonpei/article/details/6307033

http://lqqnotes.blog.51cto.com/3329069/685073

当mysql独立出来时,机房与机房间的通信时间就会受到影响了

connect_timeout在获取连接阶段(authenticate)起作用,

interactive_timeout和wait_timeout在连接空闲阶段(sleep)起作用,

net_read_timeout和net_write_timeout在连接繁忙阶段(query)起作用。




原创粉丝点击