October 27th, 2006

In trying to set up the Rails stack on two new Mac Minis, we discovered that the latest MySQL, version 5.0.26, and the Ruby gem do not seem to get along—after every ~10 requests, you get a “lost connection during query” error. Much frustration occurred until we were able to eliminate user error by duplicating the problem on the second Mac Mini.

The version I was using on my Macbook Pro is 5.0.19, so we decided to use that instead. But, turns out you can’t just download and install 5.0.19. First you have to find old versions of MySQL (not an easy feat in itself), just to discover that older versions won’t install over a newer, already installed version. You have to first uninstall 5.0.26… but Apple doesn’t provide a package uninstaller. Since it’s not an application, AppZapper does not work. Instead, a command line utility called OSXPM is necessary. I love my Mac, but after this experience I really loathed Apple for not providing a proper package uninstaller.

Once you have 5.0.26 uninstalled and 5.0.19 installed, you can recompile your MySQL gem and get on with your work. Let my pain be your gain…

6 Responses to “MySQL Version Hell”

  1. Sheera Says:
    Forgive my ignoreance But why do we need uninstallers? If compiling from source, isn't it easy enough to manually remove the appropriate directories from /usr/local ? I've always wondered what the advantages are to packages and installers.
  2. JD Says:
    I was using the pre-built OS X packages, not compiling from source. From my experience, installing mysql using MacPorts is not ideal, mostly because it won't start on startup and you have to run it manually. If you install the OS X package you get a preference pane and a startup item. Normally, it all works out for the better. I could have just done @sudo rm -r /usr/local/mysql@ to remove the pre-built package, but that isn't the "right way" to remove an installed package incase it put something somewhere else (e.g., /Library/Receipts/).
  3. Reece Says:
    I'd suggest looking at AppZapper. It does a pretty good job of taking care of such things during an uninstall. http://appzapper.com
  4. JD Says:
    > Since it’s not an application, AppZapper does not work. Maybe I'm wrong, but I couldn't get AppZapper to do anything useful.
  5. Ola Says:
    This guy had the same problem http://www.railtie.net/articles/2006/09/12/running-rails-on-os-x-with-mysql-5-0-24
  6. JD Says:
    punch.beaten_to?  #=> :always

Leave a Reply