mysql默认的配置性能只能满足一般性能的要求,对于数据量大的反应就很慢了,就算是加了索引,效率也并没有提升多大。我分享一下一些常用的配置,通过下面的配置,可以很明显的提高mysql的响应速度。
SET GLOBAL max_connections=6000; -- 当前最大连接数
SET GLOBAL MAX_USER_CONNECTIONS=2000; -- 每个数据库用户的最大连接
SET GLOBAL key_buffer_size=2*400*1024*1024; -- 用于索引块的缓冲区大小
SET GLOBAL innodb_buffer_pool_size=2*1024*1024*1024; -- 用于存储页面缓存数据
SET read_buffer_size =8*1024*1024; -- MySql读入缓冲区大小
SET sort_buffer_size=8*1024*1024; -- 执行排序使用的缓冲大小
SET read_rnd_buffer_size=16*1024*1024; -- 随机读缓冲区大小
SET GLOBAL thread_cache_size=128; -- 服务器线程缓存,和物理内存有关,1G —> 8,2G —> 16,3G —> 32G,8G —> 64
设置之前可以查看一下当前mysql的对应值,方法如下
show variables like 'max_connections';
依次替换对于的关键字,进行查询;
具体怎么设置可以查一些相关函数的说明