my05_mysql检查点简述
简单描述一下mysql 检查点,对mysql数据库恢复的理解有所帮助。
数据库版本
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.11 |
+-----------+
1 row in set (0.00 sec)
检查点查看
mysql> show engine innodb status\G;
---
LOG
---
Log sequence number 25048841
Log buffer assigned up to 25048841
Log buffer completed up to 25048841
Log written up to 25048841
Log flushed up to 25048841
Added dirty pages up to 25048841
Pages flushed up to 25048841
Last checkpoint at 25048841
35 log i/o's done, 0.00 log i/o's/second
----------------------
Last checkpoint就是检查点的位置,在数据库并不繁忙的时候,可以看到Log sequence number,Log flushed,Pages flushed的位置接近或相等。当数据库DML操作较多时,它们的差值会变大。
相关参数
mysql数据库将内存中脏页刷新到磁盘时,记录一次检查点,也这是检查点的功能,刷新内存脏页到磁盘。innodb每秒或几秒都会自动刷新脏页,除此之外,它还受以下两个参数影响
mysql> show variables like '%max_dirty_pages%';
+--------------------------------+-----------+
| Variable_name | Value |
+--------------------------------+-----------+
| innodb_max_dirty_pages_pct | 50.000000 |
| innodb_max_dirty_pages_pct_lwm | 10.000000 |
+--------------------------------+-----------+
2 rows in set (0.00 sec)
当innodb脏页使用率超过innodb_max_dirty_pages_pct_lwm的值时,除innodb本身的自动刷新脏页机制外,会开始加速刷脏页,当脏页使用率超过innodb_max_dirty_pages_pct的值时,会再次提高刷新脏页的速度。
innodb_max_dirty_pages_pct_lwm为0表示该参数不生效。
检查点分类
Sharp Checkpoint(完全检查点)
将内存中所有脏页全部写到磁盘就是完全检查点,比如数据库实例关闭时。
Fuzzy Checkpoint(模糊检查点)
将部分脏页刷新到磁盘,就是模糊检查点,数据库实例运行过程产生的检查基本上就是这种类型的检查点。
检查点作用
主要作用就是减少数据恢复时间 。因为检查点位置之前的数据都写到磁盘上了,数据恢复便不需要再关注这部分数据,所以它减少了恢复的时间 。
常说的crash崩溃恢复,恢复的是哪些数据? 恢复的是Last checkpoint到Log flushedup之间的数据。Log flushedup是内存写日志的位置,也是日志文件最新的位置。再新的话就到内存中去了,还没有写入日志文件的数据是没法恢复的。
my05_mysql检查点简述的更多相关文章
- 简述 OAuth 2.0 的运作流程
本文将以用户使用 github 登录网站留言为例,简述 OAuth 2.0 的运作流程. 假如我有一个网站,你是我网站上的访客,看了文章想留言表示「朕已阅」,留言时发现有这个网站的帐号才能够留言,此时 ...
- JavaScript单线程和浏览器事件循环简述
JavaScript单线程 在上篇博客<Promise的前世今生和妙用技巧>的开篇中,我们曾简述了JavaScript的单线程机制和浏览器的事件模型.应很多网友的回复,在这篇文章中将继续展 ...
- APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点)
APP测试点总结(功能,交互,死机崩溃状态分析,容易出错的检查点) 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近涉足APP端测试,常见检查点总结如下: 一.业务方面: 1. 注册( ...
- Design Patterns Simplified - Part 3 (Simple Factory)【设计模式简述--第三部分(简单工厂)】
原文链接:http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part3-factory/ Design ...
- Android网络定位服务定制简述
Android 添加高德或百度网络定位服务 Android的网络定位服务以第三方的APK方式提供服务,由于在国内Android原生自带的com.google.android.gms服务几乎处于不可用状 ...
- 《Entity Framework 6 Recipes》翻译系列 (1) -----第一章 开始使用实体框架之历史和框架简述
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF ...
- 简述ASP.NET MVC原理
1.为什么ASP.NET需要MVC? 因为随着网站的的数量级越来越大,原始的网站方式,这里指的是WebForm,在运行速度和维护性方面,以及代码量上面,越来越难以满足日益庞大的网站维护成本.代码的重构 ...
- Design Patterns Simplified - Part 2 (Singleton)【设计模式简述--第二部分(单例模式)】
原文链接: http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part-2-singleton/ De ...
- 【翻译】设计模式学习系列1---【Design Patterns Simplified: Part 1【设计模式简述:第一部分】】
原文链接:http://www.c-sharpcorner.com/UploadFile/19b1bd/design-patterns-simplified-part1/ Design Pattern ...
随机推荐
- opencv3.2加载图片
#include <opencv2/opencv.hpp>#include <iostream> using namespace cv;using namespace std; ...
- ZROI2018提高day3t3
传送门 分析 我们对于每一个可以匹配的字符都将其从栈中弹出,然后他的哈希值就是现在栈中的字符哈希一下.然后我们便可以求出对于哪些位置它们的哈希值是一样的,即它们的状态是一致的.而这些点可以求出它们的贡 ...
- 安装postman工具模拟请求
扩展工具->: 注意,在创建快捷方式后,第一次打开这个工具,会让你注册信息,忽略它.关闭,重新打开postman工具,然后如下所示:
- 读取txt文件的简易算法
网友在问,从一个文本文件(txt)读取数据,并做简易算法.网友的原问题大约如下, 网友的问题,虽然说是全部是数字,但没有说明是否只有一行.因此Insus.NET在实现算法时,处理文本文件是否多行,是否 ...
- OC 语言新特性
前言 相对于 Java,OC 语言是一门古老的语言了,而它又是一门不断发展完善的语言.一些新的编译特性,为 OC 语言带来了许多新的活力. 在 Xcode7 中,iOS9 的 SDK 已经全面兼容了 ...
- APIO 2012 派遣(可并堆)
APIO 2012 派遣(可并堆) 给定一棵N个点的树和M,每个点有两个权值ai,bi,每次可以选择一个点x,然后在这个点的子树中选若干点(可以不选自己),使得这些点的\(\sum b_i<=M ...
- Servlet中Web.xml的配置详解(一)
1 定义头和根元素 部署描述符文件就像所有XML文件一样,必须以一个XML头开始.这个头声明可以使用的XML版本并给出文件的字符编码.DOCYTPE声明必须立即出现在此头之后.这个声明告诉服务器适用的 ...
- kuangbin专题十二 POJ3186 Treats for the Cows (区间dp)
Treats for the Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7949 Accepted: 42 ...
- django内置服务器
单进程多线程的 多线程用来并发,各个线程之间不会阻塞,每个线程对应一个连接
- [转载]np.where()使用说明
转载自https://www.cnblogs.com/massquantity/p/8908859.html#4072620 numpy.where() 有两种用法: 1. np.where(cond ...