MySQL server plays a vital role in your Linux Server. It runs all of your website's databases, WHM/Cpanel control panel databases, etc. MySQL service crash is a 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 in most cases.
The 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 the MySQL server, many solutions are available to fix them. Let's check them out one by one:
1. Log in 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
2. Check if you already have MySQL service running.
Type the following command to determine if a MySQL service is running already.
ps -aux | grep mysql
If MySQL service is already running, you will get the 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.
3. Check ownership of /var/lib/mysql/
Type the following command to check ownership of MySQL service.
ls -laF /var/lib/mysql/
If its owner is root, you should change it to MySQL or your_user.
sudo chown -R mysql /var/lib/mysql/
4. Take the backup of mysql.sock file and remove it. To achieve this, fire the following commands:
cp /var/lib/mysql.sock /var/lib/mysql.sock_bkp
rm -rf /var/lib/mysql.sock
Now, try to start MySQL service with the following command.
5. Try to find log files with the suffix ".err".
You will get these files at the following path. These files contain actual error messages.
In many cases, this issue is resolved by removing these error files.
6. Check if my.conf file has been modified recently.
If you wish to edit my.conf file, it is recommended to take a backup so you can restore it if anything goes wrong. Additionally, you will have to be extra careful not to add invalid characters or lines to 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.
7. 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 updating the log files. You can either remove these log files or move them to another folder. These log files will be created automatically once you restart the MySQL server. The 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 take a complete backup of folder /var/lib/mysql before you make any changes to the MySQL service of your Linux server.
- If you wish to make any changes to these files, taking a backup of them is recommended.
- 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/