mysql checkpoint有什么作用


本篇内容主要讲解“mysql checkpoint有什么作用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“mysql checkpoint有什么作用”吧!checkpoint检查点主要是刷新脏页到磁盘上,使数据库达到数据状态一致性的工作。因为事务的提交只会刷新操作日志到磁盘,脏数据是异步刷新到磁盘,这个异步就是靠checkpoint。一、主要解决以下问题:1、恢复的时候减少前滚操作,减少恢复时间2、回收脏页,循环利用缓存池3、重做日志不可用,刷新脏页二、checkpoint种类及触发条件sharp checkpoint (类似oracle全量)当innodb_fast_shutdown=1和0时,数据库关闭时所有脏页全部刷新到磁盘上Fuzzy checkpiont(类似oracle增量)1、Master Thread进程每几秒或每十秒异步的将脏页一定比例的刷新到磁盘上2、FlUSH_LUR_LIST checkpoint是因为在innodbmysql5.6版本以前需要保证LRU列表中需要有差不多100个空闲页可供使用,从mysql5.6版本以后,这个检查被放在一个单独的page cleaner线程中进行,而且用户可以通过参数innodb_lru_scan_depth控制LRU列表中可用页的数量,默认为10243、Async/Sync Flush checkpoint值重做日志文件不可用的时候在重做日志文件不可用的情况下,需要将一些也刷新回磁盘,而操作发生在Flush列表上。若将已经写入到重做日志的LSN记为redo_lsn,将已经刷新回磁盘最新的LSN记为checkpoint_lsn,则可以定义:checkpoint_age = redo_lsn-checkpoint_lsn在定义一下的变量async_water_mark=75%*total_redo_log_file_size、sync_water_mark=90%*total_redo_file_size。若每个重做日志的大小为1G且定义了两个重做日志共2G。那么async_water_mark=1.5G,sync_water_mark=1.8G。 当checkpoint_age当async_water_mark

当checkpoint_age>sync_water_mark时,这种情况很少发生除非设置的重做日志文件太小,并且进行类似于LOAD DATA的BULK INSRET操作。这个时候触发Sync Flush从Flush列表刷新足够的脏页会磁盘,使得刷新后满足checkpoint_age

Async Flush Checkpoint会阻塞发现问题的用户查询线程,Sync Flush Checkpoint会阻塞所有的用户查询线程,并且等待脏页刷新完成。但是从MySQL5.6版本开始这部分操作放入单独的Page Cleaner Thread中,不再会堵塞用户查询线程。

4、Dirty Page too much 当缓存池中的数据比例达到innodb_max_dirty_pages_pct比例时,强制checkpoint,刷新一部分脏页到磁盘上,innodb 1.0.X版本之前该参数默认是90,之后的版本都为75

mysql> show variables like ‘innodb_max_dirty_pages_pct’;

+—————————-+——-+

| Variable_name | Value |

+—————————-+——-+

| innodb_max_dirty_pages_pct | 75 |

+—————————-+——-+

1 row in set (0.00 sec)

到此,相信大家对“mysql checkpoint有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

当checkpoint_age>sync_water_mark时,这种情况很少发生除非设置的重做日志文件太小,并且进行类似于LOAD DATA的BULK INSRET操作。这个时候触发Sync Flush从Flush列表刷新足够的脏页会磁盘,使得刷新后满足checkpoint_ageAsync Flush Checkpoint会阻塞发开发云主机域名现问题的用户查询线程,Sync Flush Checkpoint会阻塞所有的用户查询线程,并且等待脏页刷新完成。但是从MySQL5.6版本开始这部分操作放入单独的Page Cleaner Thread中,不再会堵塞用户查询线程。 4、Dirty Page too much 当缓存池中的数据比例达到innodb_max_dirty_pages_pct比例时,强制checkpoint,刷新一部分脏页到磁盘上,innodb 1.0.X版本之前该参数默认是90,之后的版本都为75 mysql> show variables like ‘innodb_max_dirty_pages_pct’; +—————————-+——-+ | Variable_name | Value | +—————————-+——-+ | innodb_max_dirty_pages_pct | 75 | +—————————-+——-+ 1 row in set (0.00 sec) 到此,相信大家对“mysql checkpoint有什么作用”有了更深的了解,不妨来实际操作一番吧!这里是开发云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

相关推荐: 有哪些方法可以增加mysql外键

本文主要给大家介绍有哪些方法可以增加mysql外键,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下有哪些方法可以增加mysql外键吧。mysql添加外键的方法有:在属性值后面直接添加;在sql语句末端添加…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 06/27 21:58
下一篇 06/27 21:58

相关推荐