mysql配置文件放在vim /etc/my.cnf核心部分是[mysqld]这一部分,

key_buffer_size = 128M(很大的很关键的关于内存的配置参数,用于索引块的缓冲区,增加他可以得到更好的处理索引的速度,比如对所有的读和多重的写,他会有一些索引,把索引的缓冲区增大,那么索引的速度也会变快,这个数值并不是越大越好,也有一定的范围,1G内存,搞成256M就足够了)

skip-locking:是否要过滤掉locking,因为有时候会有一些锁发生,我们为了能让她快一点,我们可以把它锁过滤掉,不进行锁)

max_allowed_packet = 1M(允许最大的包,用在mysql的web管理工具叫做phpmyadmin,我们可以在那个上面去导入一些包)

table_open_cache = 256(表示所有的线程,打开表的数量)

sort_buffer_size = 1M(用来排序的缓冲区大小,我们mysql的sql语句中会有排序,排序的时候他占用多大内存呢,1M)

read_buffer_size = 1M(读的时候有个缓冲区)

read_rnd_buffer_size = 4M(rnd表示随机读

myisam_sort_buffer_size = 64M(针对myisam引擎来说的,还有一种引擎是innodb

thread_cache_size = 8(和内存有关系,1G内存设置为8,2G内存设置为16,4G以上设置为64)

query_cache_size= 16M(查询的缓存大小,咱们去查询一个sql语句,肯定会出来一些结果,可以把这个结果暂存在内存里,下次再查就可以拿这一部分结果出来)

thread_concurrency = 8(跟cpu核数有关系,最大并发线程数,一般是逻辑cpu数量乘以2


interactive_timeout = 8

wait_timeout = 8

因为我们客户端过来的查询mysql,他可能会有一些sleep的状态,当他连接之后,处理完之后不能马上断开,他会先暂时保持连接,但是mysql有连接数限制的,不能超过多少,如果超过这个连接数就会连不上,所以把已经完成连接的连接数断开连接,wait_timeout = 8会依赖interactive_timeout = 8

慢查询相关:是调优的重要依据,可以看慢查询日志知道哪些sql语句慢

long_query_time = 1

log_slow_queries = /data/mysql/slow.log

mysql调优:http://www.apelearn.com/bbs/forum.php?mod=viewthread&tid=5758&highlight=mysql%B5%F7%D3%C5