标签:table 数据加载 恢复 shu round eid load 如何 时间
一、mysql 重启要面临的问题:
由于重启后之前innodb buffer pool中缓存的数据就都没有了,如果这个时候业务SQL来临,mysql就只能是从磁盘中
读取数据到内存;可能要经过数个小时的时间内存中的数据才能是业务频繁要用的。行业中把这个内存从什么都没有
到内存中都是热数据的这个过程叫作预热。可见在预热这个过程中数据库的性能是不怎么好的,对于内存(innodb buffer pool)
越大的库预热的时间就越长
二、解决问题的思路:
说起来这个解决方法也是简单粗暴,方法就是mysql在正常关闭时把当前内存中页面信息(tableSpaceId,pageId),保存到磁盘;
等到mysql启动的时候就根据之前保存的信息把磁盘中的数据加载到innodb buffer pool;
三、如何配置:
前面讲解“解决问题的思路”的时候,提到了两个过程一个是关闭时保存,一下个启动时恢复,这个两过程各自对应着一个配置
参数,还有一个参数就是用来控制innodb buffer pool中那些页面要被“保存”,“恢复” 这个是通过一个百分比控制的,这个也
对应着一个参数
[mysqld] #--------innodb buffer pool state innodb_buffer_pool_dump_pct =25 #指定innodb buffer pool 中要被保存|恢复的页面的百分比 innodb_buffer_pool_dump_at_shutdown =ON #指定是否启动关闭时保存信息这个工能 innodb_buffer_pool_load_at_startup =ON #指定是否启用启动时恢复这个功能
四、对innodb_buffer_pool_dump_pct 的说明:
innodb buffer pool 内部是由列表组织的,配置成25就是说列表中前面的那25%的页面要在关闭时保存它们的元信息(tablespaceid,pageid)
这个的“前”是指的innodb buffer pool中的new 列表;关于innodb buffer pool的列表组织方式可以看我的另一个博客
http://www.cnblogs.com/JiangLe/p/7392421.html
----
学习交流
mysql-5.7 saving and restore buffer pool state 详解
标签:table 数据加载 恢复 shu round eid load 如何 时间
原文地址:http://www.cnblogs.com/JiangLe/p/7501464.html