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]