I recently upgraded my Mac to Mavericks and, of course, MySQL was hosed afterwards. I use MySQL a lot for development and demos and dreaded going through the pain of getting it running again. I recalled the initial installation was fairly unpleasant, with a bit of trial and error before I finally had my test databases the way I wanted them. When I upgraded to Mavericks, I panicked when my tests started failing with errors connecting to MySQL. Alas, it was broken. A bit of Googling indicated that it needed to be reinstalled on Mavericks, which was not actually true. Had I seen this first, I would have known better. Anyway, I came across this Apple User Tip that not only made installation and setup a snap, but made integration with OSx even better. Here is a summary from the article:

 

1. Download MySQL, if you haven't already. The article indicates to download the OSx 10.6 pkg with the dmg. I wanted the latest, so I got mysql-5.6.17-osx10.7-x86_64.tar.gz and extracted to /usr/local/mysql. Either way seems fine though.

2. Run sudo vi /Library/LaunchDaemons/com.mysql.mysql.plist , add and save the following:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

  <dict>

    <key>KeepAlive</key>

    <true/>

    <key>Label</key>

    <string>com.mysql.mysqld</string>

    <key>ProgramArguments</key>

    <array>

    <string>/usr/local/mysql/bin/mysqld_safe</string>

    <string>--user=mysql</string>

    </array>

  </dict>

</plist>


3. Run sudo vi /etc/my.cnf, add and save the following:

[client]

socket=/var/mysql/mysql.sock

 

[mysqld]

socket=/var/mysql/mysql.sock


4. Run sudo launchctl load -w /Library/LaunchDaemons/com.mysql.mysql.plist and MySql will start. You are then ready to set the root password and add any users.


Hopefully this will save you some time. There are lots of things like this that can be a pain to do (or remember what you did last time). As I come across those, I will add them here.