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

$ mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/var/mysql/fdipzonedeMacBook-Air.local.pid).22:08:37 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2016-04-23 22:08:38 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-04-23 22:08:38 0 [Note] /usr/local/Cellar/mysql/5.6.24/bin/mysqld (mysqld 5.6.24) starting as process 3604 ...
2016-04-23 22:08:38 3604 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2016-04-23 22:08:38 3604 [Note] Plugin 'FEDERATED' is disabled.
2016-04-23 22:08:38 3604 [Note] InnoDB: Using atomics to ref count buffer pool pages
2016-04-23 22:08:38 3604 [Note] InnoDB: The InnoDB memory heap is disabled
2016-04-23 22:08:38 3604 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2016-04-23 22:08:38 3604 [Note] InnoDB: Memory barrier is not used
2016-04-23 22:08:38 3604 [Note] InnoDB: Compressed tables use zlib 1.2.3
2016-04-23 22:08:38 3604 [Note] InnoDB: Using CPU crc32 instructions
2016-04-23 22:08:38 3604 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2016-04-23 22:08:38 3604 [Note] InnoDB: Completed initialization of buffer pool
2016-04-23 22:08:38 3604 [Note] InnoDB: Highest supported file format is Barracuda.
2016-04-23 22:08:38 3604 [Note] InnoDB: Log scan progressed past the checkpoint lsn 68929933440
2016-04-23 22:08:38 3604 [Note] InnoDB: Database was not shutdown normally!
2016-04-23 22:08:38 3604 [Note] InnoDB: Starting crash recovery.
2016-04-23 22:08:38 3604 [Note] InnoDB: Reading tablespace information from the .ibd files...
2016-04-23 22:08:38 3604 [ERROR] InnoDB: checksum mismatch in tablespace ./test_user/user_recommend_code#P#pmax.ibd (table test_user/user_recommend_code#P#pmax)
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:1024 Pages to analyze:64
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 1024, Possible space_id count:0
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:2048 Pages to analyze:48
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 2048, Possible space_id count:0
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:4096 Pages to analyze:24
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 4096, Possible space_id count:0
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:8192 Pages to analyze:12
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 8192, Possible space_id count:0
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size:16384 Pages to analyze:6
2016-04-23 22:08:38 3604 [Note] InnoDB: VALID: space:2947354 page_no:3 page_size:16384
2016-04-23 22:08:38 3604 [Note] InnoDB: Page size: 16384, Possible space_id count:1
2016-04-23 22:08:38 3604 [Note] InnoDB: space_id:2947354, Number of pages matched: 1/1 (16384)
2016-04-23 22:08:38 3604 [Note] InnoDB: Chosen space:29473542016-04-23 22:08:38 3604 [Note] InnoDB: Restoring page 0 of tablespace 2947354
2016-04-23 22:08:38 3604 [Warning] InnoDB: Doublewrite does not have page_no=0 of space: 2947354
2016-04-23 22:08:38 7fff79b9e300 InnoDB: Operating system error number 2 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
InnoDB: Error: could not open single-table tablespace file ./test_user/user_recommend_code#P#pmax.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.

解决

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

    1. 进入mysql目录,一般是:/usr/local/var/mysql/
    2. 删除ib_logfile*
    3. 删除ibdata*
    4. 删除所有数据库物理目录(例如数据库为test_db,则执行rm -rf test_db)
    5. 重启动mysql
    6. 重新建立数据库或使用备份覆盖
  • 如果数据很重要且没有备份

    可以使用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): 不执行前滚的操作。
  1. 在my.cnf(windows是my.ini)中加入

    innodb_force_recovery = 6
    innodb_purge_thread = 0
    
  2. 重启mysql

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

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

innodb启动失败无法重启的处理方法相关推荐

  1. mysql innodb启动失败_关于mysql innodb启动失败无法重启的处理方法讲解

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

  2. win10无限重启服务器,win10系统更新kb4284835补丁失败无限重启的解决方法

    ‍‍ 微软发布最新KB4284835补丁,但是win10系统更新补丁却失败出现无限重启的问题,kb4284835更新失败该怎么解决呢?针对此故障问题,接下去教程和大家分享win10系统更新kb4284 ...

  3. apmserv mysql5.1启动失败_apmserv启动失败的原因以及解决方法

    在本地测试环境当中,很多人遇到过apmserv集成软件启动失败的问题:有apache启动失败.mysql启动失败:系统天堂小编针对apmserv启动失败的原因整理了对应的解决方法在这里分享给大家. 现 ...

  4. Failed to start LSB 网络服务启动失败的四种解决方法

    1.执行 service network restart 出现以下错误 Restarting network (via systemctl):  Job for network.service fai ...

  5. MySQL启动失败 排查过程及解决方法

    MySQL 启动失败的常见原因 MySQL 启动失败的最常见的原因有两类,分别是无法访问系统资源和参数设置错误造成的,下面分别分析如下. 一.无法访问系统资源 MySQL 不能访问启动需要的资源是造成 ...

  6. mysql innodb启动失败_mysql启动失败

    环境: mysql55 redhat5.7 首先阐明,去年用arch时玩mariadb,用的很顺风顺水.... 但是今年在arch下我的mariadb也一直没安装成功,情况基本跟现在一样...之前没有 ...

  7. springboot启动失败的原因及其解决方法

    前言: 对于springboot的启动失败,相信大家都有经历,但是为什么会启动失败,以及怎么解决都只能通过日志进行查看,在这里,我会将常见的springboot启动失败的报错一一展示 报错: 1:端口 ...

  8. jira mysql 启动 失败_重启机器导致mysql启动失败

    一.问题 二.常见解决方案 网上的解决方法大致为 ①空间不足(df -h 查看) ②权限不足(/var/lib文件夹)chown -R mysql:mysql /vdb1/lib/ ③修改my.cnf ...

  9. 关于mysql启动失败 3534 报错解决方法

    我的MySQL安装好后,使用一周后的同一时间必定报连接失败,然后查找发现是MySQL本地服务没有启动(应该是一段时间会自动关闭?),手动启动该服务项提示: 尝试在管理员身份下启动终端,并输入:net ...

最新文章

  1. java fork join原理_细说Fork/Join框架
  2. 自动增加asp元件及onclick
  3. 转:SQL Server游标的使用
  4. 牛客2020年愚人节比赛
  5. c语言 在txt文件中搜索关键词_网络推广外包—网络推广外包如何在搜索引擎中体现关键词优化效果...
  6. java成员方法的一般格式为_Java基本知识(四)
  7. iframe design=on 时,oncontextmeun不能触发之问题!
  8. 小程序中 wx.navigateTo 页面跳转没有反应?
  9. 修改数据文件和日志文件路径
  10. C#,提取avi,mpeg,mp4,rmvb,mkv,flv等等视频文件的摘要信息的方法及其源程序
  11. 电视/电视盒点播APP软件系统定制开发方案
  12. iOS 知名公司资讯汇集~招聘内推
  13. 法语计算机相关书籍,法语网络计算机相关词汇
  14. OpenCV:对图像的位操作bitwise_and(与),bitwise_or(或),bitwise_not(非),bitwise_xor(异或)
  15. php狼找兔子问题算法,算法 狼找兔子问题
  16. 【毕业设计】基于单片机的手势检测识别系统 - arduino 物联网嵌入式
  17. oracle mysql limit用法_mysql以及oracle数据分页的sql示例(limit和Rownum的用法) | Soo Smart!...
  18. 长沙市六中学生寒假社会实践活动在湖南智慧教育装备展示体验中心开展
  19. nCode:DesignLife案例教程九
  20. Java如何计算2个时间段内共有几天几小时几分几秒

热门文章

  1. Java 并发 —— Thread、Executor、线程池
  2. WinEdt LaTex(三)—— 宏包
  3. 面向对象特性、使用面向对象编程的场合
  4. GDB 使用教程(二)
  5. 极简代码(四)—— 分段函数(sinc)的实现
  6. 【剑指 offer】(十八)—— 树的子结构
  7. chromebook开发php,玩转chromebook
  8. 哪种css实现方式优势更突出_css和div的优势有哪些?
  9. python是什么 自学-你们都是怎么自学python的?
  10. arcgis python 教程-按区域消除--arcgis python实例教程