Using MySQL Preloading Buffer Pool for fast restart.

什么场景下,会使用该功能。

当你的数据库系统较大,比如有128G物理内存,那么对应的buffer pool大小一般也在100G左右,那么数据库在正常运行的时候会在buffer pool中会有几十G的数据,在系统估计后,所有的数据都会被flush到数据文件。

那么当数据库在次启动的时候,之前已经在buffer pool的数据如要需要继续被访问,就不得不从新通过读数据文件,消耗I/O来放到buffer pool中。那么这时,buffer pool的dump/load就很有用。

另外注意,buffer pool中存储的数据(pages),但是dump出来的只是tablesapce id 和 page id,并不是真实的数据,所以即使数据有几十G,也不会太慢。下面是官方说明:

By default, tablespace ID and page ID data is saved in a file named ib_buffer_pool, which is saved to the InnoDB data directory. The file name can be modified using the innodb_buffer_pool_filename configuration parameter.

[root@localhost:(none) 08:52:07]> show variables like '%buffer_pool%';

+-------------------------------------+----------------+

| Variable_name                       | Value          |

+-------------------------------------+----------------+

| innodb_buffer_pool_dump_at_shutdown | OFF            | --在shutdwon mysql的时候是否开启dump功能

| innodb_buffer_pool_dump_now         | OFF            |

| innodb_buffer_pool_filename         | ib_buffer_pool | --确定dump file的名字

| innodb_buffer_pool_instances        | 8              |

| innodb_buffer_pool_load_abort       | OFF            |

| innodb_buffer_pool_load_at_startup  | OFF            | --在mysql启动的时候是否开启从dump文件load内容

| innodb_buffer_pool_load_now         | OFF            |

| innodb_buffer_pool_size             | 134217728      |

+-------------------------------------+----------------+

8 rows in set (0.00 sec)

1. To save the state of the InnoDB buffer pool at server shutdown, issue the statement:

[root@localhost:(none) 08:52:14]> SET GLOBAL innodb_buffer_pool_dump_at_shutdown=ON;

Query OK, 0 rows affected (0.00 sec)

2. Stop MySQL service.

[root@localhost:(none) 08:54:06]> exit

Bye

[mysql@server mysql]$ /etc/init.d/mysql.server stop

Shutting down MySQL..                                      [  OK  ]

3. Check Dump file.

[mysql@slc4-ra0002pxe159 data]$ ls -l

total 176188

-rw-rw---- 1 mysql mysql       56 Jan 13 20:56 f

drwx------ 2 mysql mysql     4096 Jan 14 00:18 db01

-rw-rw---- 1 mysql mysql     1774 Jan 14 20:55 ib_buffer_pool

-rw-rw---- 1 mysql mysql 79691776 Jan 14 20:55 ibdata1

-rw-rw---- 1 mysql mysql 50331648 Jan 14 20:55 ib_logfile0

-rw-rw---- 1 mysql mysql 50331648 Jan 13 20:51 ib_logfile1

drwx------ 2 mysql mysql     4096 Jan 13 20:51 mysql

drwx------ 2 mysql mysql     4096 Jan 13 20:51 performance_schema

-rw-r----- 1 mysql mysql    31591 Jan 14 20:55 .err

drwxr-xr-x 2 mysql mysql     4096 Jan 13 20:38 test

4. To restore the InnoDB buffer pool state at server startup with --innodb_buffer_pool_load_at_startup option.

[mysql@server1 mysql]$ mysqld_safe --innodb_buffer_pool_load_at_startup=ON

150114 20:56:18 mysqld_safe Logging to '/usr/local/mysql/data/.err'.

150114 20:56:18 mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data

5. Login mysql and check retore status.

[root@localhost:(none) 08:56:41]> SHOW STATUS LIKE 'innodb_buffer_pool_load_status';

+--------------------------------+--------------------------------------------------+

| Variable_name                  | Value                                            |

+--------------------------------+--------------------------------------------------+

| Innodb_buffer_pool_load_status | Buffer pool(s) load completed at 150114 20:56:18 |

+--------------------------------+--------------------------------------------------+

1 row in set (0.00 sec)

6. Add below contents to configuration file to enable automatic dump/load acorss mysql restart.

innodb_buffer_pool_dump_at_shutdown=on

innodb_buffer_pool_load_at_startup=on

mysql5.6 load_MySQL 5.6 dump/load buffer pool实验相关推荐

  1. MySQL 5.6 dump/load buffer pool实验

    Using MySQL Preloading Buffer Pool for fast restart. 什么场景下,会使用该功能. 当你的数据库系统较大,比如有128G物理内存,那么对应的buffe ...

  2. Innodb之监控Buffer pool Load progress

    你可以使用PERFORMANCE SCHEMA中的相关信息监控BUFFER POOL状态加载进程. 1. 启用 stage/innodb/buffer pool load instrument: 2. ...

  3. Android 系统(256)---camera如何dump image buffer大全

    camera如何dump image buffer大全 MT6572/MT6589/MT6582/MT6592  Select dump buffer port Normal Preview, Vid ...

  4. MTK 平台camera如何dump image buffer大全

    [DESCRIPTION]       camera如何dump image buffer大全 [SOLUTION] MT6572/MT6589/MT6582/MT6592 Select dump b ...

  5. MySQL8.0 存储引擎(InnoDB )buffer pool的实现原理

    数据库为了高效读取和存储物理数据,通常都会采用缓存的方式来弥补磁盘IO与CPU运算速度差.InnoDB 作为一个具有高可靠性和高性能的通用存储引擎也不例外,Buffer Pool就是其用来在内存中缓存 ...

  6. mysqldump造成Buffer Pool污染的研究 [转]

    原文链接:http://www.shaoqun.com/m/a/43307.aspx 前言: 最近Oracle MySQL在其官方Blog上贴出了 5.6中一些变量默认值的修改.其中innodb_ol ...

  7. MySQL 引擎特性 · InnoDB Buffer Pool

    前言 用户对数据库的最基本要求就是能高效的读取和存储数据,但是读写数据都涉及到与低速的设备交互,为了弥补两者之间的速度差异,所有数据库都有缓存池,用来管理相应的数据页,提高数据库的效率,当然也因为引入 ...

  8. Innodb Buffer Pool的三种Page和链表

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 王航威 来源 | 公众号「yangyidba」 ...

  9. MySQL · 性能优化· InnoDB buffer pool flush策略漫谈

    MySQL · 性能优化· InnoDB buffer pool flush策略漫谈 背景 我们知道InnoDB使用buffer pool来缓存从磁盘读取到内存的数据页.buffer pool通常由数 ...

最新文章

  1. 【Android开发】:在任意目录执行NDK编译
  2. 互联网产品mysql数据库设计总结
  3. libevent入门
  4. java中ra怎么解释_JAVA个人相关知识总结
  5. 什么是跨域?什么是CSRF?
  6. redis 源码 object.c 实现
  7. mysql操作json优点和缺点_MySQL与JSON-为什么?
  8. break lab c语言,C语言实验lab10.doc
  9. linux java 环境配置_linux下java开发环境配置
  10. 【u249】新斯诺克
  11. 即拿即用-Android单线程断点下载
  12. Python之保留字
  13. mysql登陆案例_Mysql用户登陆验证过程 案例
  14. 鸿蒙OS到底是不是Android套皮?(少bb,看源码!)
  15. 域名代购还需要关注到全方位宣传
  16. 计算机程序扩展名是什么,LOG文件扩展名 - 什么是.log以及如何打开? - ReviverSoft...
  17. java的可执行文件_java生成可执行文件的方法总结
  18. 软件测试117道面试题直击面试官灵魂
  19. iPhone X 响应式网页设计
  20. mac m1 网络卡顿问题(微信有网浏览器没网)

热门文章

  1. 最长回文子串——Manacher 算法​​​​​​​
  2. 主要编程教学语言的讨论
  3. mysql把结果变横表_mysql纵表与横表转换实例
  4. 迷你世界远古机器人_迷你世界:第三款机器人即将上线,网友5000迷你币抽新坐骑,哭了...
  5. 又撞了!特斯拉司机自动驾驶中看电影 直接撞向警车:画面太囧了
  6. 被美列入投资黑名单后 商汤重启公开招股发行规模定价没变
  7. 卖一头猪亏500元,“猪茅”也扛不住了?
  8. 字节跳动研发的云固件投入应用 首批装机200余台X86服务器
  9. 交个朋友回应罗永浩3年还清6亿元:争取年底还完
  10. 你中签了吗?端午节多地发放数字人民币红包!