一、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 详解的更多相关文章

  1. mysql 5.7.12 新增 X plugin x 协议 详解

    mysql 5.7.12 新增 X plugin  x 协议 详解http://xiaozhong991.blog.51cto.com/2354914/1763792 x 协议  操作nosql数据库 ...

  2. MySQL对数据库数据进行复制的基本过程详解

    MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...

  3. Python 多进程 multiprocessing.Pool类详解

    Python 多进程 multiprocessing.Pool类详解 https://blog.csdn.net/SeeTheWorld518/article/details/49639651

  4. 【MySQL】InnoDB 内存管理机制 --- Buffer Pool

    InnoDB Buffer Pool 是一块连续的内存,用来存储访问过的数据页面 innodb_buffer_pool_size 参数用来定义 innodb 的 buffer pool 的大小 是 M ...

  5. 【docker-compose】使用docker-compose部署运行spring boot+mysql 【处理容器的时区问题】【详解】【福利:使用docker-compose构建 wordpress+mysql】

    ==================================================================================================== ...

  6. mysql服务性能优化 my.cnf my.ini配置说明详解(16G内存)

    sort_buffer_size,join_buffer_size,read_buffer_size参数对应的分配内存也是每个连接独享 这配置已经优化的不错了,如果你的mysql没有什么特殊情况的话, ...

  7. Mysql导入导出工具Mysqldump和Source命令用法详解

    Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...

  8. [转]Mysql导入导出工具Mysqldump和Source命令用法详解

    Mysql本身提供了命令行导出工具Mysqldump和Mysql Source导入命令进行SQL数据导入导出工作,通过Mysql命令行导出工具Mysqldump命令能够将Mysql数据导出为文本格式( ...

  9. mysql主从复制搭建中几种log和pos详解

    一.主从原理 Replication 线程   Mysql的 Replication 是一个异步的复制过程,从一个 Mysql instace(我们称之为 Master)复制到另一个 Mysql in ...

随机推荐

  1. IE8中伪元素动态作用样式不重绘bug记录

    前阵子对公司框架的前端优化中,使用了字体图标(iconfont)来做模块的图标集,供用户进行配置选择. 字体图标的有非常好的灵活性和复用性,可以像处理文字一样通过font-size进行大小设置.通过c ...

  2. 主成分分析(PCA)

    相对与网上很多人分享的有关PCA的经历,我第一次接触PCA却不是从人脸表情识别开始的,但我所在的实验室方向之一是人脸的研究,最后也会回到这个方向上来吧. PCA(principal component ...

  3. [jQuery] $.map, $.each, detach() , $.getJSOIN()

    $.map function will return the modifies array. $.each function will not new a new array, the old val ...

  4. linux下的tar命令

    tar 命令在打包的时候如果是通过绝对路径压缩打包,在不特殊参数时,解压时会在当前路径下创建打包时的路径,并提示警告: tar: Removing leading `/' from member na ...

  5. winform暴走表情制作器

    c# winform暴走表情制作器,项目工程下载地址:项目下载地址 程序运行截图: 部分代码:获取鼠标所在的图片中坐标 private void pictureBox1_MouseDown(objec ...

  6. iOS正則表達式(一)

    什么是正則表達式? 正則表達式是对字符串操作的一种逻辑公式. 作用? 在iOS开发中我们通常使用正則表達式来匹配给定的字符串是否符合我们的业务逻辑,比方说用户注冊帐号仅仅能是手机号或者邮箱等.我们还能 ...

  7. python之函数用法all

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #python之函数用法all #all(iterable) #说明:如果iterable的所有元素不为0.' ...

  8. 配置的好的Apache和PHP语言的环境下,如何在Apache目录下htdocs/html目录下 同时部署两个项目呢

    建虚拟目录打开Apache->conf->httpd.conf在最下面粘贴NameVirtualHost 127.0.0.1 <VirtualHost 127.0.0.1> S ...

  9. bash: fork: Resource temporarily unavailable

    Last login: Wed Jul 26 09:19:11 2017 from ... -bash: fork: Resource temporarily unavailable -bash-3. ...

  10. 每一个软件开发人员绝对必须掌握的关于 Unicode 和字符集的最基础的知识

    2013-02-05 14:18 48人阅读 评论(0) 收藏 举报 关键字:     Unicode, Character Set, 字符集, UTF-8, ANSI, ASCII, UTF-7   ...