SOLVED: InnoDB Error: space header page consists of zero bytes: xampp
I just installed 32 bit version of xampp 1.8.2 that included php 5.4, mysql 5.0.1 and apache 2.4.9. All three packed inside bitnami webdevelopment package, so the installation is simple and nice.
But when i started mysql, it failed to start. I just wondering what was happened, because I did nothing after the installation. So i thought of examining mysql logs to find out more about this issue. The log contained following information:
This may occur in following scenarios:
Rename ib_logfile0, ib_logfile1, ibdata to another name, let mysql create new
one.
III. Change default storage engine to MyIsam by disabling InnoDb
Open \xampp\mysql\bin\my.ini
Find this line [mysqld]
After that line add the following:
Save this file and restart mysql.
But when i started mysql, it failed to start. I just wondering what was happened, because I did nothing after the installation. So i thought of examining mysql logs to find out more about this issue. The log contained following information:
140615 18:58:34 InnoDB: The InnoDB memory heap is disabled
140615 18:58:34 InnoDB: Mutexes and rw_locks use Windows interlocked functions
140615 18:58:34 InnoDB: Compressed tables use zlib 1.2.3
140615 18:58:34 InnoDB: Initializing buffer pool, size = 16.0M
140615 18:58:34 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file C:\Program Files\xampp\mysql\data\ibdata1
140615 18:58:34 InnoDB: Could not open or create data files.
140615 18:58:34 InnoDB: If you tried to add new data files, and it failed here,
140615 18:58:34 InnoDB: you should now edit innodb_data_file_path in my.cnf back
140615 18:58:34 InnoDB: to what it was, and remove the new ibdata files InnoDB created
140615 18:58:34 InnoDB: in this failed attempt. InnoDB only wrote those files full of
140615 18:58:34 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
140615 18:58:34 InnoDB: remove old data files which contain your precious data!
140615 18:58:34 [ERROR] Plugin 'InnoDB' init function returned error.
140615 18:58:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140615 18:58:34 [ERROR] Unknown/unsupported storage engine: InnoDB
140615 18:58:34 [ERROR] Aborting
140615 18:58:34 [Note] c:\program files\xampp\mysql\bin\mysqld.exe: Shutdown complete
140615 18:58:34 InnoDB: Mutexes and rw_locks use Windows interlocked functions
140615 18:58:34 InnoDB: Compressed tables use zlib 1.2.3
140615 18:58:34 InnoDB: Initializing buffer pool, size = 16.0M
140615 18:58:34 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file C:\Program Files\xampp\mysql\data\ibdata1
140615 18:58:34 InnoDB: Could not open or create data files.
140615 18:58:34 InnoDB: If you tried to add new data files, and it failed here,
140615 18:58:34 InnoDB: you should now edit innodb_data_file_path in my.cnf back
140615 18:58:34 InnoDB: to what it was, and remove the new ibdata files InnoDB created
140615 18:58:34 InnoDB: in this failed attempt. InnoDB only wrote those files full of
140615 18:58:34 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
140615 18:58:34 InnoDB: remove old data files which contain your precious data!
140615 18:58:34 [ERROR] Plugin 'InnoDB' init function returned error.
140615 18:58:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
140615 18:58:34 [ERROR] Unknown/unsupported storage engine: InnoDB
140615 18:58:34 [ERROR] Aborting
140615 18:58:34 [Note] c:\program files\xampp\mysql\bin\mysqld.exe: Shutdown complete
This may occur in following scenarios:
- hard disk storage capacity > 2TB
- write permission issues
- window / third party security functions
Solution:
This issue can be fixed by following any one of the methods
I. Adding setting innodb_flush_method=normal to my.ini
Open \xampp\mysql\bin\my.ini
Find this line [mysqld]
At the end of the innodb_parameters add the following:
innodb_flush_method=normal
II. Remove innodb data files
Goto \xampp\mysql\dataRename ib_logfile0, ib_logfile1, ibdata to another name, let mysql create new
one.
III. Change default storage engine to MyIsam by disabling InnoDb
Open \xampp\mysql\bin\my.ini
Find this line [mysqld]
After that line add the following:
default-storage-engine=MyISAM
Search this line:
#skip-innodb
Modify that line like this:
skip-innodb
Save this file and restart mysql.
Comments (7)
Someone -
September 16, 2020
Thank you for the very excellent post.
Naveen -
July 17, 2018
Thanks, Its working
Bligh ferrara -
February 06, 2017
I added the line default-storage-engine=MyISAM and it suddenly started working!
Akila -
May 30, 2015
Worked for me... thankxx
Kaz Vorpal -
April 08, 2015
I was setting up Uniform Server, and ran into this problem. Solution 2 on your list worked for me. I had already tried 1 before I found your post, and it'd failed.
WDS -
April 15, 2015
Cheers...!
David -
October 24, 2014
Doesn´t Work, still the same problem....