MySQL ERROR! The server quit without updating PID file

ERROR! The server quit without updating PID file
ERROR! MySQL server PID file could not be found!

Getting these bad boy errors on your mysql on OSX, there seems to be lots of solutions about how to fix this, Google hell, this more than likely happens if mysql is running and the OS is updated like from OSX Mountain Lion to Mavericks.

The mysql.socket is no longer visible in /tmp eventhough mysql thinks it is. The .pid file in the mysql data folder is gone and mysql just wont behave without it.

So possible solutions are, first up try a straight restart:

/usr/local/mysql/support-files/mysql.server restart

If that doesn’t fix

Remove /etc/my.cnf or just back it up for now and restart:

sudo mv /etc/my.cnf /etc/my.cnf.bak

Another solution is remove any .err files in the data folder or create missing .pid ones that the error message warns:

neilg@[/usr/local/mysql/data]: sudo /usr/local/mysql/support-files/mysql.server start
Starting MySQL
. ERROR! The server quit without updating PID file (/usr/local/mysql/data/neils-iMac.local.pid).

So you could remove the .err files like so:

rm *.err /usr/local/mysql/data/

Not too sure about recreating the .pid file, i tried this and it just removed itself!

But these may not solve the issue, I found a clean install of the latest mysql will address the issue by installing all components from the dmg.

Download the latest mysql and pick the Mac OS X 10.7 (x86, 64-bit), DMG Archive version.

Install all components and restart, now you should have mysql server running again but now you will need to migrate the old data to the new. First up make sure mysql is not running either from System Prefs or the Terminal.

sudo /usr/local/mysql/support-files/mysql.server stop

or

mysql-server-stop

Migrate Databases

The key directory from the previous mysql instance that needs to be copied is :

/usr/local/mysql-5.5.13-osx10.6-x86_64/data

So in this instance the previous mysql version was 5.5.13 – the steps are rename the new data directory and copy in the old one.

Change Name of newer data directory
sudo mv /usr/local/mysql-5.6.14-osx10.7-x86_64/data /usr/local/mysql-5.6.14-osx10.7-x86_64/dataold
Copy Old Databases into new location
sudo cp -rf /usr/local/mysql-5.5.13-osx10.6-x86_64/data /usr/local/mysql-5.6.10-osx10.7-x86_64/
Start Mysql
sudo /usr/local/mysql/support-files/mysql.server start
That should fix the issue