MySQL server plays a vital role for your Linux Server. It runs all of your website's databases, WHM/Cpanel control panel databases etc. MySQL service crash is very commonly faced error. There could be many reasons behind the failure of the service. In this article, we have listed the most common fixes which work on most cases.
MySQL server could not get started.
The server quit without updating PID file. OR
Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/server-name.com.pid)
When you receive these errors on MySQL server, there are lots of solutions available to fix it. Let's check them out one by one:
- Login to your Linux server with root privileges and try to start MySQL service manually.
/etc/init.d/mysql start ....Or.....sudo /etc/init.d/mysql start
- Check if you have already MySQL service running.
Type following command to determine if there is MySQL service running already.
ps -aux | grep mysql
If MySQL service is already running, you will get list of MySQL processes with PIDs. You will have to kill those processes.
kill -9 PID // where PID is the process ID of the MySQL processes.
- Check ownership of /var/lib/mysql/
Type the following command to check ownership of MySQL service.
ls -laF /var/lib/mysql/
If it's owner is root, you should change it to MySQL or your_user.
sudo chown -R mysql /var/lib/mysql/
- Take backup of mysql.sock file and remove it. To achieve this, fire following commands:
cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp
rm -rf /var/lib/mysql.sock
Now, have a try to start MySQL service with following command.
- Try to find log files with suffix ".err".
You will get these files at following path. This files contain actual error messages.
In many cases, this issue is resolved by removing this error files.
- Check if my.conf file has been modified recently.
If you wish to edit my.conf file, it is recommended to take backup so you can restore it if anything goes wrong. Additionally, you will have to be extra careful that you do not add any invalid characters or line in this file. If you notice any changes to this file, revert it from a known backup you have.
Navigate to /etc/my.cnf and restore the changes you have made to this file.
- Move the log file named ib_logfile in /var/lib/mysql and restart MySQL service.
Sometimes MySQL service fails to start because it faces difficulty while updating the log files. You can either remove these log files or move to some other folder. These log files will be created automatically once you restart the MySQL server. Following are the commands:
mv ib_logfile0 ib_logfile0.bak
mv ib_logfile1 ib_logfile1.bak
mv /var/lib/mysql/ib_logfile* /some/tmp/folder/
- We recommend you to take full backup of folder /var/lib/mysql before you make any changes to MySQL service of your Linux server.
- In case you wish to make any changes in these files, it is recommended to take a backup of it.
- The path of the MySQL services can be different according to the operating system. For Example:
Mac OS: /usr/local/var/mysql/
Linux OS: /var/lib/mysql/