Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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. –  Giuliano Oct 3 '13 at 16:28

2 Answers 2

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.