首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
char
flutter
email
netty
datetime
hashtable
sum
jar
import
express
foreach
hashcode
blob
php7
function
plugins
lua
uri
java
dockerfile
solr
bitmap
dll
join
dagger
md5
uml
jsp
grid
fetch
go
spring
buffer
timestamp
client
string
settings
range
post
search
perl
triggers
php
ascii
heatmap
config
input
controller
php5
runtime
typescript
httprequest
version
utf-8
shell
random
tree
int
main
request
split
chat
eval
process
get
copy
cSharp
scala
c语言
timezone
python2
callback
io
python3
bytecode
bash
httpclient
ip
php8
当前位置:
开发笔记
>
编程语言
> 正文
利用innodb_force_recovery解决MySQL服务器crash无法重启问题
作者:nnbji | 来源:互联网 | 2023-09-17 14:50
数据库在机器crash导致日志文件损坏,重启之后无法正常恢复。error1236,日志损坏,数据文件损坏因为日志已经损坏,这里采用非常规手段,首先修改innodb_force_recovery
数据库在机器crash导致日志文件损坏,重启之后无法正常恢复。
error
1236
,
日志损坏
,
数据文件损坏
因为日志已经损坏,这里采用非常规手段,首先修改innodb_force_recovery参数,使mysqld跳过恢复步骤,将mysqld 启动,将数据导出来然后重建数据库。
innodb_force_recovery可以设置为1-6,大的数字包含前面所有数字的影响。
1. (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。
2. (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。
3. (SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。
4. (SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。
5. (SRV_FORCE_NO_UNDO_LOG_SCAN):不查看
undo logs
,InnoDB存储引擎会将未提交的事务视为已提交。
6. (SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。
注意
a 当设置参数值大于0后,可以对表进行select,create,drop操作,但insert,update或者delete这类操作是不允许的。
b 当innodb_purge_threads 和 innodb_force_recovery一起设置会出现一种loop现象:
150125 17
:
07
:
42 InnoDB
:
Waiting
for
the background threads to start
150125 17
:
07
:
43 InnoDB
:
Waiting
for
the background threads to start
150125 17
:
07
:
44 InnoDB
:
Waiting
for
the background threads to start
150125 17
:
07
:
45 InnoDB
:
Waiting
for
the background threads to start
150125 17
:
07
:
46 InnoDB
:
Waiting
for
the background threads to start
150125 17
:
07
:
47 InnoDB
:
Waiting
for
the background threads to start
在my.cnf中修改以下两个参数
innodb_force_recovery=6
innodb_purge_thread=0
重启MySQL
150125 17
:
10
:
47
[
Note
]
Crash recovery finished
.
150125 17
:
10
:
47
[
Note
]
Server socket created on
IP
:
'0.0.0.0'
.
150125 17
:
10
:
47
[
Note
]
Event Scheduler
:
Loaded 0 events
150125 17
:
10
:
47
[
Note
]
/vdata/webserver/mysql/bin/mysqld
:
ready
for
connections
.
Version
:
'5.5.37-MariaDB-log'
socket
:
'/tmp/mysql.sock'
port
:
3306 Source distribution
立即对数据库做逻辑导出 ,完成之后将innodb_force_recovery设置为0 ,innodb_purge_thread=1 ,
然后重建数据库
。
另外 MySQL 版本 5.5以及之前 ,当innodb_purge_threads =1,innodb_force_recovery >1 的情况会出现上文提到的循环报warning 问题(=1 没有问题),
原因:
MySQL 的源代码中显示 当innodb_purge_threads 和 innodb_force_recovery一起设置会出现loop循环
while
(
srv_shutdown_state
=
=
SRV_SHUTDOWN_NONE
)
{
if
(
srv_thread_has_reserved_slot
(
SRV_MASTER
)
=
=
ULINT_UNDEFINED
|
|
(
srv_n_purge_threads
=
=
1
&& srv_thread_has_reserved_slot
(
SRV_WORKER
)
=
=
ULINT_UNDEFINED
)
)
{
ut_print_timestamp
(
stderr
)
;
fprintf
(
stderr
,
" InnoDB:
Waiting for the background threads to
start\n"
)
;
os_thread_sleep
(
1000000
)
;
}
else
{
break
;
}
}
所以当需要设置innodb_force_recovery>1的时候需要关闭 innodb_purge_threads,设置为0(默认)。
原文:http://blog.itpub.net/22664653/viewspace-1441389/
mysql
sql
crash
数据库
服务器
日志
文件
merge
select
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
join
MyBatis多表查询与动态SQL使用
本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ...
[详细]
蜡笔小新 2023-12-12 17:12:51
join
安装mysqlclient失败解决办法
本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ...
[详细]
蜡笔小新 2023-12-14 18:24:10
join
SQL日志收缩及截断方法详解
本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ...
[详细]
蜡笔小新 2023-12-14 18:23:25
join
MysqlDump_mysqldump全库备份相关知识详解
本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ...
[详细]
蜡笔小新 2023-12-14 10:03:27
jar
eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ...
[详细]
蜡笔小新 2023-12-14 00:31:35
java
高校天文共享平台开发过程中的思考与规划
本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ...
[详细]
蜡笔小新 2023-12-13 18:08:58
java
问题2:重新命名或者移动数据文件、日志文件到新的位置
本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ...
[详细]
蜡笔小新 2023-12-13 13:02:24
import
r2dbc配置多数据源
R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ...
[详细]
蜡笔小新 2023-12-12 16:38:53
char
Oracle 11g物理Active Data Guard实时查询(Realtime query)特性
在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ...
[详细]
蜡笔小新 2023-12-11 15:49:10
dll
使用集算器将日志文件结构化,轻松使用SQL查询
本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ...
[详细]
蜡笔小新 2023-12-11 13:27:46
char
mysql字符集和表字符集_Mysql数据库表引擎与字符集
Mysql数据库表引擎与字符集1.服务器处理客户端请求其实不论客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句) ...
[详细]
蜡笔小新 2023-10-16 10:34:13
char
Centos7安装MySql5.6
如何在CentO ...
[详细]
蜡笔小新 2023-10-14 19:40:22
char
mariadb主从同步
本文是搭建的mariadb-10.0.17版本的下载地址:https:downloads.mariadb.orginterstitialmariadb-10.0.17sourcemariadb-10.0.17.tar.gzfromhtt ...
[详细]
蜡笔小新 2023-10-13 12:15:15
char
centos7如何利用yum安装mysql 8.0.12
这篇文章将为大家详细讲解有关centos7如何利用yum安装mysql8.0.12,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有 ...
[详细]
蜡笔小新 2023-10-12 20:57:12
char
mysql数据库生成表插件_screw 数据库文档生成工具
简洁好用的数据库表结构文档工具在企业级开发中、我们经常会有编写数据库表结构文档的时间付出,从业以来,待过几家企业,关于数据库表结构文档状态:要么没有、要么有、但都是手写 ...
[详细]
蜡笔小新 2023-10-12 19:37:43
nnbji
这个家伙很懒,什么也没留下!
Tags | 热门标签
char
flutter
email
netty
datetime
hashtable
sum
jar
import
express
foreach
hashcode
blob
php7
function
plugins
lua
uri
java
dockerfile
solr
bitmap
dll
join
dagger
md5
uml
jsp
grid
fetch
RankList | 热门文章
1
Aavegotchi 创始人 Jesse Johnson:100% 的 Web3 游戏才是令人兴奋的
2
杭州集训第五天
3
实用工具推荐之树形结构图转换工具
4
org.eclipse.jdt.core.dom.Assignment.postReplaceChild()方法的使用及代码示例
5
javax.faces.application.Application.getMessageBundle()方法的使用及代码示例
6
php表单发送到邮箱V1.0
7
无线路由器软件设置方法有哪些呢?
8
贺题记录(数学+图论+dp+树型问题)
9
【PPT 下载】这杯网红茶饮,到底赢在哪里?
10
iOS9.0 网络请求错误解决
11
请教:关于C#调用COM的问题
12
Android从零开始之工欲善其事必先利其器Android Studio主题颜色配置
13
mysql查看程序执行的sql,mysql查看当前执行的sql
14
QTP测试WinToolbar控件
15
POJ 3414 Pots 求大神!!
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有