Posted by waveer on January 10, 2013 at 9:18am
本地开发,用的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
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
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"
"chkdsk.exe" 这个你应该就明白了,你可以从windows的运行里面键入"chkdsk"来检查你的磁盘,可能是你的硬盘有问题,你可以查看一下。
嗯,我搜了,下次再碰到的时候,试试 希望不要再出现了
嗯,我搜了,下次再碰到的时候,试试
希望不要再出现了
code is poetry
InnoDB: Operating system error number 23 in a file operation
昨天再次碰到这个错误,现在发现一个可能比较好的解决方法:在磁盘右键→属性→工具→查错,进行磁盘查错和修复,完成后,可以试一下,看看ibdata1能不能复制,如果可以复制,一般mysql就可以启动了,如果还是不能,你会发现复制时提示:无法复制 无法读取源文件或磁盘。
这说明是ibdata1这个文件在window中出问题了,解决这个问题,就可以了,和mysql无关了。
还有是InnoDB类型的数据库,有时mysql配置文件中,会让这个文件自增,时间一长,就越来越大,所以建议修改一下配置:
innodb_data_file_path = ibdata1:10M:autoextend:max:100M
限制一下文件的大小,这样到100MB后,会建立ibdata2
code is poetry