首页 >

MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop

数据库|mysql教程MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop
MySQL基础教程,MySQL:同时设置innodb_for
数据库-mysql教程
易语言模块转换源码,vscode图片插件,苹果手机安装ubuntu容器,tomcat 部署 刷新,sqlite 外键关键,2017防封ios红包插件,jui前端框架下载,画巨型骷髅爬虫,字符串分割 php,2017淘宝seo,开源网站后台管理系统使用,网页浮层,destoon 6.0模板,手机注册页面模板源码,驾校预约管理系统源码,禾匠小程序商家拼团lzw
MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop
影院源码商业版,ubuntu系统下程序,爬虫链接队列代码,matlab代码 php,网址查询 seolzw
仿 php源码,vscode运行和调试怎么配置,ubuntu服务器架设,如何查看本地tomcat在哪,sqlite的add,网页设计师主要做什么,sql2000服务器的注册码,dede站群插件,前端框架的概述,爬虫的视角,linux编译安装php,绍兴seo报价,springboot分表组件,wordpress 网站,网页滚动幻灯片代码,jeecms模板下载,网站上传后后台进不去,订货单页面设置,车辆管理系统高级版,小程序源文件lzw

版本:Percona5.5.18

设置参数:

innodb_force_recovery>=2

innodb_purge_thread = 1

观察alert.log,出现大量信息:

InnoDB: Waiting for the background threads to start

我们定位到相应的代码:

在srv_purge_thread里,会判断当前是否以recovery mode启动:

[html]

其中SRV_FORCE_NO_BACKGROUND值为2,,可以看看不同的恢复级别分别代表什么:

[cpp]

也就是说,当恢复级别大于等于2时,将会从while循环中break然后退出线程(os_thread_exit)

但在函数innobase_start_or_create_for_mysql里,由于设置innodb_purge_thread为1,因此这里会等待purge线程起来

[cpp]

FIX:

在创建purge线程前,同时判断recovery值,当>=2时,我们强制将innodb_purge_thread置为0,以防止无限Loop

[cpp]


MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop
  • Linux平台使用二进制包将MySQL 5.1安装到个人目录简易指南
  • Linux平台使用二进制包将MySQL 5.1安装到个人目录简易指南 | Linux平台使用二进制包将MySQL 5.1安装到个人目录简易指南 ...

    MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop
  • Slave_SQL_Running: No mysql同步故障解决方法
  • Slave_SQL_Running: No mysql同步故障解决方法 | Slave_SQL_Running: No mysql同步故障解决方法 ...

    MySQL:同时设置innodb_force_recovery和innodb_purge_thread导致无限loop
  • MySQL SELECT同时UPDATE同一张表
  • MySQL SELECT同时UPDATE同一张表 | MySQL SELECT同时UPDATE同一张表 ...