电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败。
错误日志
mysql美元。服务器启动 启动MySQL 。错误!没有更新服务器退出PID文件(/usr/地方/var/mysql/fdipzonedeMacBook-Air.local.pid)。22:08:37 mysqld_safe开始mysqld守护程序与数据库从/usr/local/var/mysql2016-04-23 22:08:38 0[警告]时间戳与隐含的默认值是弃用。请使用——explicit_defaults_for_timestamp服务器选项(见文档了解更多信息)。2016-04-23 22:08:38 0[注]/usr/local/Cellar/mysql/5.6.24/bin/mysqld (mysqld 5.6.24)开始处理3604…3604 22:08:38 2016-04-23[警告]设置lower_case_table_names/usr/local/var/mysql/=2,因为文件系统是如何insensitive2016-04-23 22:08:38 3604[注]插件& # 39;联邦# 39;是禁用的。3604 22:08:38 2016-04-23[注]InnoDB:利用原子ref计数缓冲池pages2016-04-23 22:08:38 3604[注]InnoDB: InnoDB内存堆disabled2016-04-23 22:08:38 3604[注]InnoDB:互斥和rw_locks使用GCC原子builtins2016-04-23 22:08:38 3604[注]InnoDB:记忆障碍不是used2016-04-23 22:08:38 3604[注]InnoDB:压缩表使用zlib 1.2.32016-04-23 22:08:38 3604[注]InnoDB:使用CPU crc32 instructions2016-04-23 22:08:38 3604[注]InnoDB:初始化缓冲池大?128.0 m2016-04-23 22:08:38 3604[注]InnoDB:完成初始化缓冲pool2016-04-23 22:08:38 3604[注]InnoDB:最高支持的文件格式是Barracuda.2016-04-23 22:08:38 3604[注]InnoDB:日志扫描过去发展检查点lsn 3604 22:08:38 689299334402016-04-23[注]InnoDB:数据库不能正常关机!3604 22:08:38 2016-04-23[注]InnoDB:开始崩溃恢复。3604 22:08:38 2016-04-23[注]InnoDB:阅读从.ibd文件表空间信息…3604 22:08:38 2016-04-23[错误]InnoDB:校验和不匹配表空间。/test_user user_recommend_code # # pmax P。炎症性肠病(表test_user/user_recommend_code # # pmax页)3604 22:08:38 2016-04-23[注]InnoDB:页面大小:1024页分析:3604 22:08:38 642016-04-23[注]InnoDB:页面大小:1024年,可能space_id数:3604 22:08:38 02016-04-23[注]InnoDB:页面大小:2048页分析:3604 22:08:38 482016-04-23[注]InnoDB:页面大小:2048年,可能space_id数:3604 22:08:38 02016-04-23[注]InnoDB:页面大小:4096页分析:3604 22:08:38 242016-04-23[注]InnoDB:页面大小:4096年,可能space_id数:3604 22:08:38 02016-04-23[注]InnoDB:页面大小:8192页分析:3604 22:08:38 122016-04-23[注]InnoDB:页面大小:8192年,可能space_id数:3604 22:08:38 02016-04-23[注]InnoDB:页面大小:16384页分析:3604 22:08:38 62016-04-23[注]InnoDB:有效:空间:2947354 page_no: 3页大小:3604 22:08:38 163842016-04-23[注]InnoDB:页面大小:16384年,可能space_id数:3604 22:08:38 12016-04-23[注]InnoDB: space_id: 2947354,匹配的页数:1/1(16384)2016-04-23 22:08:38 3604[注]InnoDB:选择空间:3604 22:08:38 29473542016-04-23[注]InnoDB:恢复表空间的页0 3604 22:08:38 29473542016-04-23[警告]InnoDB: Doublewrite没有page_no=0的空间:29473542016-04-23 22:08:38 7 fff79b9e300 InnoDB:操作系统错误2号在文件操作。 InnoDB:错误意味着系统找不到指定的路径。 InnoDB:如果你安装InnoDB,记住,您必须创建 InnoDB:目录自己,InnoDB不创建它们。 InnoDB:错误:无法打开文档表空间文件。/test_user user_recommend_code # # pmax P。ibdInnoDB:我们不继续崩溃恢复,因为表可能会 InnoDB:腐败如果我们不能使用InnoDB的日志记录日志。 解决这个问题,并开始mysqld InnoDB:: InnoDB: 1)如果有在文件和mysqld不能许可的问题 InnoDB:打开文件,你应该修改的权限。 InnoDB: 2)如果表不需要,或者你可以从备份恢复, InnoDB:然后您可以删除.ibd文件,InnoDB会正常的 InnoDB:崩溃恢复和忽略那张桌子。 InnoDB: 3)如果文件系统或磁盘坏了,和你不能删除 InnoDB: .ibd文件,您可以设置innodb_force_recovery祝辞0 my.cnf InnoDB:并迫使InnoDB继续崩溃恢复。
解决方法
1。如果数据不重要或已经有备份,只需要恢复mysql启动
进入mysql目录,一般是:/usr/地方/var/mysql/
删除ib_logfile *
删除ibdata *
删除所有数据库物理目录(例如数据库为test_db,则执行rm射频test_db)
重启动mysql
重新建立数据库或使用备份覆盖