急求mysql 断电后无法启动解决方法

ahxjolin 2014-08-18 10:35:12
我用的是win平台,装的xampp包,现在的问题是服务器断电后,mysql就起不来了。错误信息如下
2014-08-14 08:01:35 2032 [Note] Plugin 'FEDERATED' is disabled.
2014-08-14 08:01:35 130 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2014-08-14 08:01:35 2032 [Note] InnoDB: The InnoDB memory heap is disabled
2014-08-14 08:01:35 2032 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2014-08-14 08:01:35 2032 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-08-14 08:01:36 2032 [Note] InnoDB: Not using CPU crc32 instructions
2014-08-14 08:01:36 2032 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2014-08-14 08:01:36 2032 [Note] InnoDB: Completed initialization of buffer pool
2014-08-14 08:01:36 2032 [Note] InnoDB: Highest supported file format is Barracuda.
2014-08-14 08:01:38 2032 [Note] InnoDB: The log sequence numbers 26455907 and 26455907 in ibdata files do not match the log sequence number 26455917 in the ib_logfiles!
2014-08-14 08:01:38 2032 [Note] InnoDB: Database was not shutdown normally!
2014-08-14 08:01:38 2032 [Note] InnoDB: Starting crash recovery.
2014-08-14 08:01:38 2032 [Note] InnoDB: Reading tablespace information from the .ibd files...
2014-08-14 08:01:39 2032 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace metro/line1_lable uses space ID: 2 at filepath: .\metro\line1_lable.ibd. Cannot open tablespace mysql/innodb_index_stats which uses space ID: 2 at filepath: .\mysql\innodb_index_stats.ibd
InnoDB: Error: could not open single-table tablespace file .\mysql\innodb_index_stats.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.

这种情况不是一次两次了,而且偶尔时候即使正常关机也会出现。反复试验后只能删除data文件夹下的iblogfile0,iblogfile1,ibdata1三个文件mysql才能启动,但是这样的话数据库也没了。请求解决方法!!谢谢大神!!
...全文
535 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ahxjolin 2014-08-25
  • 打赏
  • 举报
回复
发现新问题, 设置innodb_force_recovery=4 后无法执行insert delete等操作,但是这些操作是必需的。
ahxjolin 2014-08-19
  • 打赏
  • 举报
回复
谢谢各位,请问大家的mysql有类似现象吗?我现在设置了 innodb_force_recovery=4,也不知有没有用。。。
华夏小卒 2014-08-18
  • 打赏
  • 举报
回复
正常关机都有问题??? 这5.6版本哦,难道还要bug不成
tata8188 2014-08-18
  • 打赏
  • 举报
回复
Database was not shutdown normally! 数据库未正常关闭, 修复数据库的方法是: 修改某个文件权限问题使mysql能再次启动 如果那些数据表有备份,你可以把后缀为.ibd文件移除,InnoDB会在造一个.ibd文件而忽略之前那个文件 如果是文件系统或者磁盘损坏,你就不可以删除后缀为.ibd文件,在配置文件my.cnf中设置参数 innodb_force_recovery > 0 希望能对你有帮助
tata8188 2014-08-18
  • 打赏
  • 举报
回复
应该是断电时你的mysql还在运行导致的错误
ahxjolin 2014-08-18
  • 打赏
  • 举报
回复
想到个问题请教各位,php在执行过mysql_query()函数后需要释放什么嘛?比如mysql_free_result()什么的?我发现我的代码中有些页面没有写mysql_close(),有没有可能是这个原因呢?

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧