昨天,我的本地服务器硬盘崩溃并在启动时进行自动磁盘扫描。我不在办公室,所以我真的不知道发生了什么。但是今天当我们启动服务器时,我们得到了
130523 10:49:36 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.5/en/operating-system-error-codes.html
InnoDB: File name .\ibdata1
InnoDB: File operation call: 'Windows aio'.
我尝试在 C: 上运行磁盘扫描程序,它发现了 4 个损坏的记录,但没有坏扇区之类的。数据库服务器有大约 300 个数据库,我不确定如何恢复它。有人建议删除Log文件并尝试设置
innodb_Force_recovery = 4
我也试过了,但是有些数据库不可用,当我尝试使用它们时 MySql 崩溃了。我不确定,因为重新加载 300 数据库不是一件容易的事。
编辑:
如果重要的话,我正在使用 Windows 2008 网络版。
最佳答案
听起来像是在 Windows 上:ENFILE 错误基本上表示您打开的文件太多。不太确定你是如何绕过它的:in general it is somewhere between 512 and 2048 in a process .
建议将所有文件移出 MySQL 数据目录并尝试一个一个地恢复它们。
关于mysql - InnoDB:文件操作中的操作系统错误号 23,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16706568/