I noticed after updating to MacOS Mojave that MySQL would not start for some reason.
After opening my .err document (usually called YOURCOMPUTERNAME.err), it will show you all of the errors that MySQL is outputting to show you what is going wrong.
Mine had these lines:
2018-12-17 18:01:49 4429411776 [Note] InnoDB: The InnoDB memory heap is disabled
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Memory barrier is not used
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Compressed tables use zlib 1.2.8
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Using CPU crc32 instructions
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Completed initialization of buffer pool
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Highest supported file format is Barracuda.
2018-12-17 18:01:49 4429411776 [Note] InnoDB: 128 rollback segment(s) are active.
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Waiting for purge to start
2018-12-17 18:01:49 4429411776 [Note] InnoDB: Percona XtraDB (http://www.percona.com) 5.6.26-74.0 started; log sequence number 118715806
2018-12-17 18:01:49 123145544376320 [Note] InnoDB: Dumping buffer pool(s) not yet started
2018-12-17 18:01:49 4429411776 [Note] Plugin ‘FEEDBACK’ is disabled.
2018-12-17 18:01:49 4429411776 [Note] Recovering after a crash using tc.log
2018-12-17 18:01:49 4429411776 [ERROR] Bad magic header in tc log
2018-12-17 18:01:49 4429411776 [ERROR] Crash recovery failed. Either correct the problem (if it’s, for example, out of memory error) and restart, or delete tc log and start mysqld with –tc-heuristic-recover={commit|rollback}
2018-12-17 18:01:49 4429411776 [ERROR] Can’t init tc log
2018-12-17 18:01:49 4429411776 [ERROR] Aborting
If you’ll see at the bottom, the first error says “Bad magic header in tc log”.
I found this post, where a user had the exact same error as me and the same issue.
I tried his method by deleting the .tc.log file located in /xampp/xamppfiles/var/mysql/tc.log, and tried firing up MySQL.
Viola! Started up just fine.
Please let me know in the comments below if this helped you! I was very happy not to lose my old database and files from my previous XAMPP installation. I guess it’s time I should back it all up…
Thanks James – my instance had stopped working after a apple system update and this worked a treat!
Thanks Dave! Happy to hear that. I was panicking for a bit, I wasn’t able to access my databases and I thought I lost them. Glad you got it working too.
James!
This did the trick after hours of debugging. THANK YOU!
All is saved! Happy to hear it 🙂
Thank you for pointing this! You saved my day!