Leopard borks MySQL, quick dirty fix

I installed Leopard and like some people on the net, MySQL was no longer running. MySQL would not start from the preferences pane and running mysqld from the command line got me:

wayne-pans-computer-2:bin Wayne$ mysqld
071026 17:29:55 [Warning] Can't create test file /usr/local/mysql-5.0.45-osx10.4-i686/data/wayne-pans-computer-2.lower-test
071026 17:29:55 [Warning] Can't create test file /usr/local/mysql-5.0.45-osx10.4-i686/data/wayne-pans-computer-2.lower-test
mysqld: Can't change dir to '/usr/local/mysql-5.0.45-osx10.4-i686/data/' (Errcode: 13)
071026 17:29:55 [ERROR] Aborting
...

Turns out for some reason the data directory has the wrong permissions.

wayne-pans-computer-2:mysql-5.0.45-osx10.4-i686 Wayne$ pwd
/usr/local/mysql-5.0.45-osx10.4-i686
wayne-pans-computer-2:mysql-5.0.45-osx10.4-i686 Wayne$ ls -la
total 96
drwxr-xr-x  19 root    wheel    646 Jul  4 10:54 .
drwxr-xr-x  14 root    wheel    476 Oct 26 17:29 ..
-rw-r--r--   1 root    wheel  19071 Jul  4 06:06 COPYING
-rw-r--r--   1 root    wheel   5139 Jul  4 06:06 EXCEPTIONS-CLIENT
-rw-r--r--   1 root    wheel   8528 Jul  4 10:15 INSTALL-BINARY
-rw-r--r--   1 root    wheel   1410 Jul  4 06:05 README
drwxr-xr-x  73 root    wheel   2482 Oct 26 17:29 bin
-rwxr-xr-x   1 root    wheel    801 Jul  4 10:53 configure
drwxr-x---   4 _mysql  wheel    136 Oct 26 17:29 data
drwxr-xr-x   4 root    wheel    136 Jul  4 10:53 docs
drwxr-xr-x  67 root    wheel   2278 Jul  4 10:54 include
drwxr-xr-x  21 root    wheel    714 Jul  4 10:54 lib
drwxr-xr-x   4 root    wheel    136 Jul  4 10:53 man
drwxr-xr-x  15 root    wheel    510 Jul  4 10:54 mysql-test
drwxr-xr-x   3 root    wheel    102 Jul  4 10:54 scripts
drwxr-xr-x   9 root    wheel    306 Jul  4 10:54 share
drwxr-xr-x  31 root    wheel   1054 Jul  4 10:54 sql-bench
drwxr-xr-x  15 root    wheel    510 Jul  4 10:54 support-files
drwxr-xr-x  20 root    wheel    680 Jul  4 10:54 tests

So I simply chmodded data (with -R) to 777 and mysqld works again (along with the MySQL pref pane). Not the most secure way, but I said quick and dirty didn’t I? Before doing that I also tried chowning to root and starting mysqld with sudo but it complained about starting mysqld as root. Hopefully this helps someone out there.

On a side note, I hate the new dock. Try to figure out which one my apps are running by quickly glancing at the picture below. It takes some time for you to focus in on those light blue dots. Give me back the black arrow! (Also in the screenshot below, Eclipse is running but a second Eclipse icon is generated as the real Eclipse process. Not sure if I can blame Apple for this one.)

picture-1.png

My biggest reason for upgrading is actually to see if Leopard will fix my annoying freezing issues!

|  

One response to “Leopard borks MySQL, quick dirty fix”

  1. Joannou Ng says:

    The right way to do it is to use launchd:
    Migrating MySQL 5.0.45 to Mac OS X 10.5 Leopard
    http://blog.tomatocheese.com/archives/2007/11/1/migrating_mysql_to_mac_os_x_leopard/