Cry MySQL How to...
Troubleshooting: Default storage engine (InnoDB) is not available
Symptoms
MySQL is not running and will not start. In the Windows Application event log the following error is logged:
Source: MySQL EventID: 100 Level: Error Default storage engine (InnoDB) is not available.
Identify the underlying cause
In the first instance location the file "computer.err
",
where "computer
" is the name of the computer on which MySQL
is (or should be) running. This is the error log file appended to by MySQL
which it uses to record any start up errors.
On a Windows PC this is typically located in C:\Program Files\MySQL
MySQL Server 5.0\data
(you will need to replace 5.0 with your MySQL
version number).
Open "computer.err
" with notepad, scroll down to
the bottom of this file and look at the line (or lines) immediately preceding
the one which states "[ERROR] Default storage engine (InnoDB) is not available.
That will indicate the cause of the error and what you need to address.
Possible Causes and Resolution
There are a number of possible causes to this problem (but I have only recorded here the ones that I have encountered).
InnoDB: Error: unable to create temporary file; errno: 9
[ERROR] Default storage engine (InnoDB) is not available
[ERROR] AbortingMySQL was unable to create the temporary files it uses. Check that the temporary directory MySQL uses still exists (I had accidentally deleted mine whilst housekeeping). You can identify the directory MySQL is trying to use either by opening
my.ini
or by using the GUI tools to configure the instance (you can configure the instance without connecting to MySQL). Check that you are not out of storage space and that no permissions have been placed on the folder that would prevent files from being created in it.InnoDB: No valid checkpoint found.
InnoDB: If this error appears when you are creating an InnoDB database,
InnoDB: the problem may be that during an earlier attempt you managed
InnoDB: to create the InnoDB data files, but log file creation failed.
InnoDB: If that is the case, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/error-creating-innodb.html
[ERROR] Default storage engine (InnoDB) is not available
[ERROR] AbortingThe log files and the InnoDB data file (
ibdata1
) must be in step with each other.In my case I had tried to wipe the database by deleting the
ibdata1
file knowing that it would be recreated when MySQL next started, but I had neglected to delete the log files. (Note: Unless you have good reason to want to wipe your MySQL database deleting either theibdata1
or the log files is a bad idea.)
These notes have been tested against MySQL 5.0
About the author: Brian Cryer is a dedicated software developer and webmaster. For his day job he develops websites and desktop applications as well as providing IT services. He moonlights as a technical author and consultant.