广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    mysql 服务innodb启动失败无法重启的处理方法

    来源:网络收集  点击:  时间:2024-07-22
    【导读】:
    电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。工具/原料moremysql5.7服务启动方法/步骤1/8分步阅读

    此处分为两种情况:1是如果数据不重要或已经有备份,只需恢复mysql启动服务;2是如果数据很重要且没有备份,针对以上两种情况加以说明。

    2/8

    1.如果数据不重要或已经有备份,只需要恢复mysql启动服务,具体步骤如下所示:

    3/8

    (1)进入mysql 存储数据Data目录,一般是:ProgramData\MySQL\MySQL Server 5.7\Data

    4/8

    (2)删除ib开头的几个文件数据及所有物理库,如:

    删除ib_logfile*

    删除ibdata*

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

    5/8

    (3)重启动mysql服务

    6/8

    (4)重新建立数据库或使用备份覆盖恢复数据。

    7/8

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

    (1)可以使用innodb_force_recovery参数,在ProgramData\MySQL\MySQL Server 5.7\,打开my.ini文件,加入参数innodb_force_recovery=2,启动mysqld,将数据导出然后重建数据库。

    innodb_force_recovery 可以设置为1-6,大的数字包含前面所有数字的影响

    (SRV_FORCE_IGNORE_CORRUPT):忽略检查到的corrupt页。

    (SRV_FORCE_NO_BACKGROUND):阻止主线程的运行,如主线程需要执行full purge操作,会导致crash。

    (SRV_FORCE_NO_TRX_UNDO):不执行事务回滚操作。

    (SRV_FORCE_NO_IBUF_MERGE):不执行插入缓冲的合并操作。

    (SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重做日志,InnoDB存储引擎会将未提交的事务视为已提交。

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

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

    innodb_force_recovery = 6

    innodb_purge_thread = 0

    8/8

    (2)重启mysql

    这时只可以执行select,create,drop操作,但不能执行insert,update,delete操作执行逻辑导出,完成后将innodb_force_recovery=0,innodb_purge_threads=1,然后重建数据库,最后把导出的数据重新导入即可。

    注意事项

    备份数据库

    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_985310.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-04 23:35:51  耗时:0.027
    0.0266s