在数据库压力很大的情况下,重启完数据库,通过手工执行下列语句,把热数据加载到innodb_buffer_pool缓冲池中进行预热,从而避免早高峰连接数升高,程序报错。select count(*) from user;
select count(*) from ***;
......
在mysql5.6里为了解决上述问题,提供了一个新特性来快速预热buffer_pool缓冲池,只需在my.cnf中加入如下命令:参数注释
innodb_buffer_pool_dump_at_shutdown=1关闭时dump热数据到本地磁盘
innodb_buffer_pool_dump_now=1采用手工方式把热数据dump到本地磁盘
innodb_buffer_pool_load_at_start=1在启动时把热数据加载到内存
innodb_buffer_pool_load_now=1采用手工方式把热数据加载到内存
mysql>show variables like 'innodb_buffer_pool%';
+-------------------------------------+----------------+
|Variable_name |Value |
+-------------------------------------+----------------+
|innodb_buffer_pool_dump_at_shutdown | OFF |
|innodb_buffer_pool_dump_now |OFF |