InnoDB: невозможно заблокировать ошибку. /ibdata 1: 35

Я пытаюсь запустить MySQL в безопасном режиме, но файл журнала просто выплевывает:

[ERROR] InnoDB: Unable to lock ./ibdata1 error: 35
[Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files.

Примечания:

Ответ 1

Странные коды ошибок, как из MySQL, так и из операционной системы, можно объяснить, выполнив команду оболочки perror которая является частью дистрибутива MySQL. В Linux, например, perror 35 возвращает OS error code 35: Resource deadlock avoided. У меня нет системы OSX, удобной для тестирования, но из этого:

http://www.opensource.apple.com/source/xnu/xnu-1456.1.26/bsd/sys/errno.h

Я понял, что ошибка 35 - "Ресурс временно недоступен", что означает, что какой-то другой процесс (возможно, другой экземпляр mysqld?) Уже заблокировал файл.

Для отладки сначала я бы проверил, есть ли другой процесс MySQL, запущенный случайно (похоже, у вас уже есть), а если нет, перезагрузите систему, чтобы убедиться в отсутствии странных устаревших блокировок файлов, а затем повторите попытку.

Кто-то уже сталкивался с этой ошибкой и нашел решение:

mysql_install_db, ошибка: 35, на Mac OS X 10.9.1

Ответ 2

Просто эта проблема была с MAMP Pro. Не удалось остановить или запустить MySQL. Набрано ps aux | grep mysql, затем kill [process id] для каждой строки. Затем я смог успешно запустить MySQL снова из MAMP Pro.

Ответ 3

У меня была похожая проблема после обновления MAMP с 4.x до 5.x

К сожалению, единственный способ решить эту проблему - вручную удалить все файлы базы данных (переместить их в другой каталог) и запустить MySQL через MAMP; казалось, это сработало.

Рассматриваемые файлы (для меня) были в:

/Library/Application Support/appsolute/MAMP PRO/db/mysql57

Все файлы в этом каталоге (кроме каталога mysql) необходимо перенести в другое место. Затем я смог запустить MySQL.

Я понимаю, что это не очень полезный ответ для большинства ситуаций, но если это локальная среда разработки (например, MAMP, как в моем случае), то я думаю, что потеря локальных баз данных, вероятно, приемлема.