我的编程空间,编程开发者的网络收藏夹
学习永远不晚

什么是mysql后台线程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

什么是mysql后台线程

什么是mysql后台线程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1.mysql后台线程

mysql后台线程主要用于维持服务器的正常运行和完成用户提交的任务,主要包括:master thread,read thread,write thread,redo log thread,change buffer thread,page cleaner thread,purge thread,checkpoint,error monitor thread,lock monitor thread等.

2.mysql后台线程详解
1)master thread
Master thread优先级最高, 其内部包含几个循环:主循环(loop),后台循环(background loop),刷新循环(flush loop),暂停循环(suspend loop).master thread会根据其内部运行的相关状态在前述各循环间中进行切换.
大部分操作在主循环(loop)中完成,其包含有1s和10s两种操作.
1s操作主要包括:日志缓冲刷新到磁盘(总是,即使事务还没有提交);最多刷100个新脏页到磁盘(可能);执行和并改变缓冲的操作(可能);若当前没有用户活动,可能切换到background loop等.
10s操作主要包括:刷新100个脏页到磁盘(可能);合并至多5个改变缓冲(总是);日志缓冲刷新到磁盘(总是);删除无用的undo页(总是);刷新100个或者10个脏页到磁盘(总是)产生一个检查点(总是)等.

2)read thread
read thread为mysql的读线程,默认为4个,其负责将数据页从磁盘上读入,其由innodb_read_io_threads选项控制.用户线程发起读请求并将其放至读请求队列,read threads从读请求队列获取读任务并完成.

3)write thread
write thread为mysql的写线程,默认为4个,其负责将数据页从缓冲区写出到磁盘,其由innodb_write_io_threads控制选项控制.page_cleaner线程发起写请求并将其放至写请求队列,write threads从写请求队列获取写任务并完成.

4)redo log thread
redo log thread负责把日志缓冲中的内容刷新到redo log文件中.

5)change buffer thread
change buffer thread负责把改变缓冲(change buffer)中的内容刷新到磁盘.

6)page cleaner thread
page cleaner thread是负责脏页刷新的线程,从MySQL5.7起可增加多个.

7)purge thread
purge thread负责删除无用的undo页.由于进行DML语句的操作都会生成undo,系统需要定期对undo页进行清理,这是需要purge操作,同时,其还对已经标记为删除但还未清理的无用clustered和secondary索引数据进行清除.mysql5.6开始,把purge thread专门从master thread中分离出来,其由innodb_purge_thread选项进行控制.默认为1个,最大可以调整为32个.

8)checkpoint thread
checkpoint thread负责在redo log发生切换时,执行checkpoint.

9)error monitor thread
error monitor thread负责mysql报错的监控.

10)lock monitor thread
lock monitor thread负责mysql锁的监控.

看完上述内容,你们掌握什么是mysql后台线程的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

什么是mysql后台线程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android后台线程和UI线程通讯实例

本节向你展示如何在任务中发送数据给UI线程里的对象,这个特性允许你在后台线程工作,完了在UI线程展示结果。 在UI线程定义一个Handler Handler是Android系统线程管理框架里的一部分。一个Handler对象接收消息,并且运行
2022-06-06

Android中怎么在后台实现多线程

Android中怎么在后台实现多线程,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。后台功能是Android的四大组件之一,其重要程度自然不言而喻,而服务是Android中实现程
2023-06-04

什么是线程?

线程是操作系统中执行任务的轻量级进程,与进程共享内存空间和资源,具有并发性、资源共享、轻量级等优点。线程类型包括用户线程和内核线程,操作系统负责线程调度,确保执行的顺序和时长。为了防止数据损坏或死锁,需要使用同步机制。线程安全数据或代码可供多线程同时访问。线程广泛应用于并行计算、用户界面、网络服务器、数据库系统等领域。调试多线程应用程序可使用断点、跟踪和死锁检测技术。
什么是线程?
2024-04-02

mysql怎么关闭后台

在 mysql 中禁用后台进程,请执行以下步骤:停止 mysql 服务。编辑配置文件并添加设置:[mysqld]skip-slave-start=1。保存并重启 mysql 服务。如何在 MySQL 中禁用后台进程MySQL 是一款流行的
mysql怎么关闭后台
2024-05-30

mysql跨平台指的是什么

这篇文章主要介绍“mysql跨平台指的是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql跨平台指的是什么”文章能帮助大家解决问题。mysql跨平台指的是Wi
2023-04-19

微信小程序上线之后吸粉方法是什么

小编给大家分享一下微信小程序上线之后吸粉方法是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信公众号发布图文微信公众号能为小程序商城带来的粉丝流量的作用是不
2023-06-27

什么是java线程池

使用线程池的好处有很多,比如节省系统资源的开销,节省创建和销毁线程的时间等,当我们需要处理的任务较多时,就可以使用线程池,可能还有很多用户不知道Java线程池如何使用?今天给大家分享Java四种线程池的使用方法。线程池介绍:线程池是一种多线程处理形式,处理过程
什么是java线程池
2017-06-28

java线程池是什么

java的线程池是什么,有哪些类型,作用分别是什么 (推荐学习:java课程)线程池是一种多线程处理形式,处理过程中将任务添加队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行,并处在多线程单元中,如果
java线程池是什么
2016-06-22

Android线程池是什么

本篇内容主要讲解“Android线程池是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android线程池是什么”吧!我们都知道线程池的用法,一般就是先new一个ThreadPoolExec
2023-06-22

java中什么是线程

什么是线程线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。在Java中,“线程”指两件不同的事情:1、java.lang.Thread类的一个实例;2、
java中什么是线程
2021-10-14

什么是linux多线程编程

本篇内容介绍了“什么是linux多线程编程”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!线程分类线程按照其调度者可以分为用户级线程和核心级线
2023-06-09

编程热搜

目录