位置: 编程技术 - 正文

MySQL数据库innodb启动失败无法重启的解决方法(MYSQL数据库原理及应用)

编辑:rootadmin

推荐整理分享MySQL数据库innodb启动失败无法重启的解决方法(MYSQL数据库原理及应用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:MYSQL数据库使用教程,MYSQL数据库原理及应用,MYSQL数据库原理及应用,MYSQL数据库中,下列说法正确的是,MySQL数据库innodb存储引擎,MYSQL数据库管理工程师,MYSQL数据库原理与应用贾晶教材答案,MySQL数据库innodb存储引擎,内容如对您有帮助,希望把文章链接给更多的朋友!

问题介绍

电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。

错误日志

解决方法

1.如果数据不重要或已经有备份,只需要恢复mysql启动

进入mysql目录,一般是: /usr/local/var/mysql/

删除ib_logfile*

删除ibdata*

删除所有数据库物理目录(例如数据库为test_db,则执行rm -rf test_db)

重启动mysql

重新建立数据库或使用备份覆盖

MySQL数据库innodb启动失败无法重启的解决方法(MYSQL数据库原理及应用)

2.如果数据很重要且没有备份

可以使用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):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。

6、(SRV_FORCE_NO_LOG_REDO):不执行前滚的操作。

在my.cnf(windows是my.ini)中加入

重启mysql

这时只可以执行select,create,drop操作,但不能执行insert,update,delete操作

执行逻辑导出,完成后将innodb_force_recovery=0,innodb_purge_threads=1,然后重建数据库,最后把导出的数据重新导入

总结

本文链接地址:https://www.jiuchutong.com/biancheng/348592.html 转载请保留说明!

上一篇:MySQL 8.0.0开发里程碑版发布!(mysql开发教程)

下一篇:mysql 单机数据库优化的一些实践(mysql数据库使用教程)

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络