mysql中如何配置innodb buffer pool的大小

Innodb buffer pool简介

innodb buffer pool的大小默认是128M,其决定它大小的参数为innodb_buffer_pool_size;
你可以用show global variables like "innodb_buffer_pool_size";命令来进行查看;
innodb_buffer_pool_size参数的值是决定buffer pool的大小,buffer pool的大小对mysql
实例的性能起很大的作用;它占用的是内存,相当于缓存;这里面存放的是数据和索引;
当读取数据时,会先到buffer pool池里面去找,若没有,则直接到磁盘上去读取数据文件,慢啊;
当写入数据时,会先把数据写入到buffer pool池里面,然后再写入磁盘(当然中间还有一些环节啊);

Innodb buffer pool的大小设置

01:数据量大于物理内存时,不超过物理内存的70%;
02:若数据量小于物理内存时,建议设置成数据量+数据量*10%

Innodb buffer pool设置大小时需要注意的地方

innodb_buffer_pool_size的大小必须始终等于或者是

       innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances的倍数;

##验证1:
-- 在my.cnf文件中配置如下参数,重启mysql服务
innodb_buffer_pool_size=1G
innodb_buffer_pool_instances=8
innodb_buffer_pool_chunk_size=128M

-- 登录mysql实例后查看其相关的值
show global variables like "innodb_buffer_pool_size";       #结果1G,等于128M*8
show global variables like "innodb_buffer_pool_instances";  #结果等于8
show global variables like "innodb_buffer_pool_chunk_size"; #结果128M


##验证2:
-- 在my.cnf文件中配置如下参数,重启mysql服务
innodb_buffer_pool_size=2G
innodb_buffer_pool_instances=8
innodb_buffer_pool_chunk_size=128M

-- 登录mysql实例后查看其相关的值
show global variables like "innodb_buffer_pool_size";        #结果2G,是128M*8的倍数(2倍)
show global variables like "innodb_buffer_pool_instances";   #结果等于8
show global variables like "innodb_buffer_pool_chunk_size";  #结果128M


##验证3:
-- 在my.cnf文件中配置如下参数,重启mysql服务
innodb_buffer_pool_size=3G
innodb_buffer_pool_instances=8
innodb_buffer_pool_chunk_size=128M

-- 登录mysql实例后查看其相关的值
show global variables like "innodb_buffer_pool_size";        #结果3G,是128M*8的倍数(3倍)
show global variables like "innodb_buffer_pool_instances";   #结果等于8
show global variables like "innodb_buffer_pool_chunk_size";  #结果128M
   
   
##验证4:
-- 在my.cnf文件中配置如下参数,重启mysql服务
innodb_buffer_pool_size=3G
innodb_buffer_pool_instances=16
innodb_buffer_pool_chunk_size=128M

-- 登录mysql实例后查看其相关的值
show global variables like "innodb_buffer_pool_size";       #结果4G,是128M*8的倍数(4倍),自动调整其值为4G
show global variables like "innodb_buffer_pool_instances";  #结果等于16
show global variables like "innodb_buffer_pool_chunk_size"; #结果128M

 

转载于:https://www.cnblogs.com/chenliangc/articles/11529427.html