1

昨天,我的本地服务器硬盘崩溃并在启动时自动扫描磁盘。我不在办公室,所以我真的不知道发生了什么。但是今天当我们启动服务器时,我们得到

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: 上运行 scandisk,它发现了 4 条损坏的记录,但没有坏扇区之类的。数据库服务器有大约 300 个数据库,我不知道如何恢复它。有人建议删除日志文件并尝试设置

innodb_Force_recovery = 4 

我也尝试过,但是当我尝试使用它们时,一些数据库不可用并导致 MySql 崩溃。我不确定重新加载 300 个数据库不是一件容易的事。

编辑:

如果这很重要,我在 Windows 2008 网络版上。

4

2 回答 2

1

听起来你在 Windows 上:ENFILE 错误基本上表示你有太多打开的文件。不太确定你是如何绕过它的:一般来说它在一个 process 中介于 512 和 2048 之间

建议可能将所有文件移出 MySQL 数据目录并尝试一一恢复。

于 2013-05-23T06:07:24.083 回答
0

我有同样的问题,但错误指向另一个文件:

InnoDB:文件名 .\ib_logfile0

从数据目录(.\ib_logfile0 和 .\ib_logfile1)中删除(或重命名)两个日志文件为我解决了这个问题。

于 2019-01-07T13:38:00.520 回答