有关MySQL数据库崩溃的问题

waveer's picture

本地开发,用的acquia dev 做的环境,在登录页面,在登录时,数据库突然就崩溃了,mysqld.exe也停止了,重启mysqld.exe后,然后一打开这个页面,点击登录,mysqld.exe 进程就死掉了。可以打开phpmyadmin,但那个数据库就不能用了,不能点击,一点击,mysqld.exe就停止,而且,数据库中,会显示没有表,数据库引擎是InnoDB,一些错误信息:

130110 16:12:27  InnoDB: Operating system error number 23 in a file operation.
InnoDB: Some operating system error numbers are described at
InnoDB: http://dev.mysql.com/doc/refman/5.1/en/operating-system-error-codes.html
InnoDB: File name .\ibdata1
InnoDB: File operation call: 'Windows aio'.
InnoDB: Cannot continue operation.

我这是第二次遇到这问题了,上次的环境是wamp,也是这样的错误,当时更严重,整个mysql中,所有InnoDB类型的数据库,表都空了,但ibdata1 文件,看大小,没有丢失数据,应该是哪里错了,读不出来。

有没有遇到过类似问题的,或者对mysql比较有经验的朋友,可否指点一下。

Comments

Which version of windows are

DYdave's picture

Which version of windows are you running?

Have you tried running a chkdsk on your hard disk to see if there are any bad hard drive sectors?

Thanks

waveer's picture

I use window 7.

I dont know "chkdsk", so i didnt do this.

For now, I have reinstalled the environment, and imported the backup sql file, because i need to continue the project , there is no much time to check why it happen.

Thanks your advice, If it happen next time, I will have a try.

code is poetry

"chkdsk.exe"

alfababy's picture

"chkdsk.exe" 这个你应该就明白了,你可以从windows的运行里面键入"chkdsk"来检查你的磁盘,可能是你的硬盘有问题,你可以查看一下。

waveer's picture

嗯,我搜了,下次再碰到的时候,试试

希望不要再出现了

code is poetry

waveer's picture

昨天再次碰到这个错误,现在发现一个可能比较好的解决方法:在磁盘右键→属性→工具→查错,进行磁盘查错和修复,完成后,可以试一下,看看ibdata1能不能复制,如果可以复制,一般mysql就可以启动了,如果还是不能,你会发现复制时提示:无法复制 无法读取源文件或磁盘。

这说明是ibdata1这个文件在window中出问题了,解决这个问题,就可以了,和mysql无关了。

还有是InnoDB类型的数据库,有时mysql配置文件中,会让这个文件自增,时间一长,就越来越大,所以建议修改一下配置:

innodb_data_file_path = ibdata1:10M:autoextend:max:100M

限制一下文件的大小,这样到100MB后,会建立ibdata2

code is poetry

中国 - China

Group organizers

Group events

Add to calendar

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week