mysql-5.7 saving and restore buffer pool state 详解
一、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 详解的更多相关文章
- mysql 5.7.12 新增 X plugin x 协议 详解
mysql 5.7.12 新增 X plugin x 协议 详解http://xiaozhong991.blog.51cto.com/2354914/1763792 x 协议 操作nosql数据库 ...
- MySQL对数据库数据进行复制的基本过程详解
MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...
- Python 多进程 multiprocessing.Pool类详解
Python 多进程 multiprocessing.Pool类详解 https://blog.csdn.net/SeeTheWorld518/article/details/49639651
- 【MySQL】InnoDB 内存管理机制 --- Buffer Pool
InnoDB Buffer Pool 是一块连续的内存,用来存储访问过的数据页面 innodb_buffer_pool_size 参数用来定义 innodb 的 buffer pool 的大小 是 M ...
- 【docker-compose】使用docker-compose部署运行spring boot+mysql 【处理容器的时区问题】【详解】【福利:使用docker-compose构建 wordpress+mysql】
==================================================================================================== ...
- mysql服务性能优化 my.cnf my.ini配置说明详解(16G内存)
sort_buffer_size,join_buffer_size,read_buffer_size参数对应的分配内存也是每个连接独享 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话, ...
- Mysql导入导出工具Mysqldump和Source命令用法详解
Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...
- [转]Mysql导入导出工具Mysqldump和Source命令用法详解
Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...
- mysql主从复制搭建中几种log和pos详解
一.主从原理 Replication 线程 Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql in ...
随机推荐
- Godaddy ssl续费更新问题总结
之前客户在Godaddy 上购买的ssl证书过期了,但客户续费后打开https时却提示证书过期了 进行Godaddy 后台看到证书确实是过期的 但在账户里也确实看到ssl续费成功了 猜想可能是ssl续 ...
- Discuz常见大问题-如何DIY一个独立页面
首先参考Discuz如何自定义单个页面的文章,确保你已经能做一个"关于我们"这种纯HTML静态页面(只有文字和静态图片描述).其次参考下面的文件修改原来的htm文件 注意我用红色标 ...
- ZH奶酪:PHP图片压缩(TinyPNG在线API)和(使用Imagick扩展)
1.调用TinyPng网站提供的API 1.1.须知 (1)tinypng的官网:https://tinypng.com/ 不知道国内访问会不会很慢,在Singapore打开这个网站很流畅: (2)A ...
- Android 所遇问题(一)
1.打开Eclipse更新了一下sdk和adt到22.6,更新一切都很顺利,可以新建一个工程时发现多了一个appcompat_v7的内容.查看项目发现本来MainActivity是继承Activity ...
- strcpy sprintf memcpy 它们之间的区别
strcpy,sprintf,memcpy的区别 strcpy 函数操作的对象是 字符串,完成 从 源字符串 到 目的字符串 的 拷贝 功能. snprintf 函数操作的对象 不限于字符串:虽然目 ...
- JDBC五数据源和数据池(web基础学习笔记十一)
一.为什么使用数据源和连接池 现在开发的应用程序,基本上都是基于数据的,而且是需要频繁的连接数据库的.如果每次操作都连接数据库,然后关闭,这样做性能一定会受限.所以,我们一定要想办法复用数据库的连接. ...
- UIkit – 轻量级前端框架
原始地址:UIkit – 轻量级前端框架 高效轻量级前端框架: 来自:咕噜分享
- samba温故知新
SAMBA服务器可以实现Windows主机和Linux主机共享资源互访的功能,即在Windows下可以通过网上邻居访问Linux操作系统中SAMBA服务器共享的文件夹,当然,Linux操作系统之间同样 ...
- coding云进行git push报:permission denied
1.原因可能是 登录其他的git 项目,本地缓存了其他用户的 用户名和密码 认证信息,导致一直权限不通过 解决: git remote add origin http://yourname:passw ...
- 【微信小程序】:实现轮播图3秒滚动
wxml模板:(数据一维数组) <scroll-view scroll-y="true"> <swiper autoplay="auto" i ...