MySQL server startup error ‘The server quit without updating PID file’
MySQL server startup error ‘The server quit without updating PID file’
Try to find your log file with suffix “.err”. There should be more information. It might be in:
/usr/local/var/mysql/your_computer_name.local.err
It’s probably a problem with permissions
-
Check if any MySQL instance is running
ps -ef | grep mysql
If yes, you should stop it, or kill the process:
kill -9 PID
where
PID
is the number displayed next to the username on the output of the previous command -
Check ownership of
/usr/local/var/mysql/
ls -laF /usr/local/var/mysql/
If it is owner by
root
, you should change it tomysql
oryour_user
sudo chown -R mysql /usr/local/var/mysql/
Follow the instructions from brew install mysql
.
Set up databases to run as your user account with:
For MySQL 5.x:
unset TMPDIR
mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
To set up base tables in another folder, or use a different user to run mysqld, view the help for mysqld_install_db
:
mysql_install_db --help
And view the MySQL documentation:
For MySQL 8.x:
unset TMPDIR
mysqld --initialize-insecure --log-error-verbosity --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
Make sure the data directory /usr/local/var/mysql
above is empty. Back it up if necessary.
To run as, for instance, user “mysql”, you may need to sudo
:
sudo mysql_install_db ...options...
Start mysqld manually with:
mysql.server start
Note: if this fails, you probably forgot to run the first two steps up above
MySQL server startup error ‘The server quit without updating PID file’
I had the same issue on my Mac machine (correctly followed all the installation steps suggested by brew install
).
Deleting the error file fixed it for me:
sudo rm -rf /usr/local/var/mysql/dev.work.err
(dev.work
is my hostname)
This worked because dev.work.err
was owned by _mysql:wheel
instead of my own username.
CHOWN-ing the error file would have probably fixed it as well.