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 MySQL errors on your database server on macOS, 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 one macOS to another.

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.

Mysql Download

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

Leave all Comment