MYSQL innodb buffer 状态数据的保存和载入

本文参考官方手册
原创转载请注明出处


版本:MYSQL 5.7

当数据库重启后,buffer中的数据需要重新预热,所谓预热就是等待常用数据通过用户调用SQL语句从磁盘载入到内存,
这个过程ORACLE中叫做物理读取,对于较大的平台这个预热过程往往需要较大的代价,典型的就是第一次运行一个select
语句很慢,过后再次执行就很快了。
对于这种情况innodb默认在关闭和启动的时候都会保存和加载状态数据,由参数
innodb_buffer_pool_load_at_startup

innodb_buffer_pool_dump_at_shutdown
进行控制,默认都是on的
其保存比率由参数控制
innodb_buffer_pool_dump_pct 
默认为25%
而其文件由参数
innodb_buffer_pool_filename控制默认为:
mysql> show variables like '%innodb_buffer_pool_filename%';
+-----------------------------+----------------+
| Variable_name               | Value          |
+-----------------------------+----------------+
| innodb_buffer_pool_filename | ib_buffer_pool |
+-----------------------------+----------------+
这个文件在innodb数据文件目录下,其中保存的是space_no,page_no形式如下:
545,213
545,212
545,211
545,210
545,209
545,208
545,207
......


在线情况下可以使用如下语句:
SET GLOBAL innodb_buffer_pool_dump_now=ON;
SET GLOBAL innodb_buffer_pool_load_now=ON;
进行dump和load,并且可以通过
SHOW STATUS LIKE 'Innodb_buffer_pool_dump_status';

SHOW STATUS LIKE 'Innodb_buffer_pool_load_status';
查看dump和load的情况

作者微信:

               

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7728585/viewspace-2135756/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7728585/viewspace-2135756/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值