One of our clients in Vietnam, his name is Son Vu, who is developing a website running on VPS (his homepage trainghiemmuasam.com) encountered an error that MySQL could not start, so when accessing the WordPress website, it appeared. "Error Establishing a Database Connection" error message.
When testing the MySQL service he also encountered the same message as follows:
[root@vpshostus mysql]# service mysql status ERROR! MySQL is running but PID file could not be found
There are many causes for this error. Initially, we also spent a few hours trying to fix this error, but it still didn't work.
We finally found out that the problem was because the hard drive was full, so MySQL could not create the PID file, so the above error message occurred.
[root@vpshostus mysql]# df -h Filesystem Size Used Avail Use% Mounted on /dev/ploop23644p1 15G 15G 0 100% / none 256M 4.0K 256M 1% /dev none 256M 0 256M 0% /dev/shm
If you encounter a similar problem, first, check the hard drive space to see if there is a problem. If the space is full, just simply find the largest files on the VPS storage and delete them.
In case the error is not caused by the lack of hard drive space, try to refer to the instructions below. We find the "PID" that "mysql process" is running and kill it.
[root@vpshostus mysql]# ps aux | grep mysql root 7766 0.2 0.3 11444 1640 pts/0 S 15:45 0:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql/ --pid-file=/var/lib/mysql//vpshostus.pid mysql 11954 8.0 10.7 584184 56268 pts/0 Sl 15:47 0:00 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql/ --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/home/vpshostus.com/logs/mysql.log --open-files-limit=65536 --pid-file=/var/lib/mysql//vpshostus.pid --socket=/var/lib/mysql/mysql.sock root 11974 0.0 0.1 6444 704 pts/0 S+ 15:47 0:00 grep mysql [root@vpshostus mysql]# kill -9 7766 [root@vpshostus mysql]# ps aux | grep mysql root 12081 0.0 0.1 6444 704 pts/0 S+ 15:47 0:00 grep mysql
Create the corresponding PID file and then restart MySQL. You're all set!
Please try it out!
In addition, the cause of the MySQL service automatically stopping is usually due to the server's lack of RAM. Therefore, you should follow 3 steps below to avoid this problem.
- Optimize the website cache
- Enable SWAP if not created
- Finally, upgrade the RAM
We hope you will find this article useful. Thanks for reading!