mysql

InnoDB: Unable to lock ./ibdata1 error: 35


I'm trying to start MySQL in safe mode but the log file just keeps spitting out:

[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.

Notes:

  1. I've stopped all mysql processes and have checked using the ps command

  2. I've read this having repeated trouble with MySQL and Snow Leopard - Unable to lock ./ibdata1, error: 35


Solution

  • Strange error codes, both from MySQL and the operating system, can be explained by running a shell command perror which is a part of MySQL distribution. On Linux, for example, perror 35 returns OS error code 35: Resource deadlock avoided. I do not have an OSX system handy to test, but from this:

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

    I gather that error 35 is "Resource temporarily unavailable", meaning that some other process (possibly another instance of mysqld?) has already locked the file.

    To debug, first I would check if there is another MySQL process running by chance (looks like you already have), and if not, reboot for good measure to make sure there are no strange stale file locks, and then try again.

    Somebody has run into this error before, and found a solution:

    mysql_install_db, error: 35, on a Mac OS X 10.9.1