Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I decided to move my XAMPP installation to external drive. It's USB3 3TB Seagate drive. Unfortunately mysql doesn't want to start. All works fine if I install XAMPP to C drive but doesn't work when I try the same on external drive. I uninstalled and restarted computer many times, cleaned up all traces of mysql from computer, and I'm still getting the same error.

This is fresh installation and I have no data in database. I also deleted zero byte data file, like error log suggested, but file gets created again every time I try to restart.

This is the log file content:

131003 11:36:20 [Note] Plugin 'FEDERATED' is disabled.
131003 11:36:20 InnoDB: The InnoDB memory heap is disabled
131003 11:36:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
131003 11:36:20 InnoDB: Compressed tables use zlib 1.2.3
131003 11:36:20 InnoDB: Initializing buffer pool, size = 16.0M
131003 11:36:20 InnoDB: Completed initialization of buffer pool
InnoDB: Error: space header page consists of zero bytes in data file F:\design\code\mysql\data\ibdata1
131003 11:36:20 InnoDB: Could not open or create data files.
131003 11:36:20 InnoDB: If you tried to add new data files, and it failed here,
131003 11:36:20 InnoDB: you should now edit innodb_data_file_path in my.cnf back
131003 11:36:20 InnoDB: to what it was, and remove the new ibdata files InnoDB created
131003 11:36:20 InnoDB: in this failed attempt. InnoDB only wrote those files full of
131003 11:36:20 InnoDB: zeros, but did not yet use them in any way. But be careful: do not
131003 11:36:20 InnoDB: remove old data files which contain your precious data!
131003 11:36:20 [ERROR] Plugin 'InnoDB' init function returned error.
131003 11:36:20 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
131003 11:36:20 [ERROR] Unknown/unsupported storage engine: InnoDB
131003 11:36:20 [ERROR] Aborting

131003 11:36:20 [Note] f:\design\code\mysql\bin\mysqld.exe: Shutdown complete

I already tried some suggestions mentioned in other topics like this one

innodb_buffer_pool_size = 256M
innodb_log_file_size    = 256M
innodb_thread_concurrency   = 16
innodb_flush_log_at_trx_commit = 2

Still no change. Any help would be appreciated.

EDIT: SOLVED (see below)

share|improve this question
    
How did you install? With the installer? Or copying files from one drive to another? Did you uninstall the previous installation? – ernie Oct 3 '13 at 16:06
    
I'm using latest XAMPP installer. I haven't copied anything from old install. This is fresh installation. – Klikerko Oct 3 '13 at 16:28
up vote 3 down vote accepted

After some more researching, experimenting and headache (this is bothering me since last night) I have found the solution. In addition to adding above mentioned changes to my.ini file

innodb_buffer_pool_size = 256M
innodb_log_file_size    = 256M
innodb_thread_concurrency   = 16
innodb_flush_log_at_trx_commit = 2

I also added this line to the end of my.ini file

innodb_flush_method=normal

Now everything works great. Looks like this is a bug related to large sector size on 2TB+ hard drives. Source for this solution can be found on this page.

share|improve this answer
    
THANK YOU!!!!!!!!!!! – t q Jan 18 '14 at 1:34
    
For anyone moving their datadir to ZFS on linux (like I did), make sure you also add: innodb_use_native_aio=0 in the [mysqld] section of your my.cnf file, since ZFS on linux does not support AIO. dev.mysql.com/doc/refman/5.5/en/… – Andrew Oct 3 '14 at 20:03

Change your backend to MyISAM from InnoDB , your mysql compiled without InnoDB

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .