InnoDB: ошибка операционной системы номер 23 в файловой операции
Вчера мой локальный жесткий диск сервера вылетает и запускается для автоматического сканирования при запуске. Я не был в офисе, поэтому я действительно не знаю, что случилось. Но сегодня, когда мы запускаем сервер, мы получаем
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'.
Я пытаюсь запустить Scandisk на C: и он нашел 4 поврежденных записи, но нет плохого сектора или что-то в этом роде. Сервер баз данных имеет около 300 баз данных, я не уверен, как его восстановить. Кто-то предлагает удалить файлы журнала и попытаться установить
innodb_Force_recovery = 4
Я тоже так пытаюсь, но некоторые базы данных недоступны, и при попытке их использования происходит сбой MySql. Я не уверен, так как перезагрузка 300 базы данных не легкая работа.
Редактировать:
Я нахожусь на Windows 2008 Web Edition, если это имеет значение.
1 ответ
У меня та же проблема, но ошибка указывает на другой файл:
InnoDB: имя файла.\ Ib_logfile0
Удаление (или переименование) обоих файлов журнала из каталога данных (.\ Ib_logfile0 и.\ Ib_logfile1) решает проблему для меня.
Похоже, вы в Windows: ошибка ENFILE в основном говорит о том, что у вас слишком много открытых файлов. Не совсем уверен, как именно вы обойдете это: в общем, это где-то между 512 и 2048 в процессе.
Может предложить переместить все файлы из каталога данных MySQL и попытаться восстановить их один за другим.