This is kind of a common problem and may have several reasons. Sometimes when we simply want to restart the MySQL Server, we can get such an error:
ERROR! MySQL server PID file could not be found!

First of all, always check if the /tmp partition is full. This can happen when MySQL can’t write to the /tmp partition to create a lock file.
$ df -h

Also, this may be because, somehow the /tmp partition has been cleared and the MySQL server is looking for the PID file there. So easy-peasy just create a new pid file and restart the server.
$ touch /tmp/mysql.sock
$ service mysqld restart

It can also help to check the status, sometimes it helps. For example sometimes you can get an error like this :
$ service mysqld status
ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

Well, it’s kind of obvious, just remove the lock file and restart the server.

$ rm /var/lock/subsys/mysql
$ service mysqld restart

If none of these help, and you’re getting an error like this:
$ service mysqld restart
ERROR! MySQL server PID file could not be found!
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/mydomain.com.pid).

Then there might be a more complicated problem. Check the log file at /var/lib/mysql/mydomain.com.err
$ tail /var/lib/mysql/mydomain.com.err
120602 16:54:09 mysqld_safe mysqld from pid file /var/lib/mysql/mydomain.com.pid ended

This line tells us that we have a compatibility problem with some of our tables and mysql fails to start in safe mode.

Now let’s change the way mysql starts to work around this situtation.

$ { echo “mysql_enable=\”YES\””; echo “mysql_args=\”–skip-grant-tables –skip-networking\””; } >> /etc/init/rc.conf

Time to restart

$ /etc/init.d/mysqld restart

You should a get successfull restart. Now try and upgrade the server.
$ mysql_upgrade

If it says you have the latest version, still force it.
$ mysql_upgrade –force

It will check every database if it’s ok. After that, we can return things to normal, comment out the last line we’ve added to /etc/init/rc.conf

$ sed -i ‘/mysql_args/s/^/#/’ /etc/init/rc.conf
$ service mysqld restart

Hope this helps.

Leave a Reply

Your email address will not be published. Required fields are marked *

C2C is now part of our growing storage business, which is made up of cloud-connected backup, archiving and productivity solutions. We believe the addition of C2C puts Barracuda in a better position to offer customers a more complete archiving and information management product portfolio to simplify IT and control storage costs. You can read the […]

Loudwater, UK. – November 27, 2013 Ultra Electronics AEP, today announced that it has signed a new contract with VeriTeknik, the specialist IT Security Distributor, which it has appointed as its Turkish distributor for the full range of Ultra Communicate, Ultra Encrypt and Ultra Safe products. With this agreement, VeriTeknik will focus on building the […]

As of January 18, 2010 VeriTeknik has been a distributor of Barracuda Networks in Turkey and Turkic Countries. Barracuda Networks was founded in 2002 and is the first product in 2003, the Barracuda Spam Firewall has been released. Barracuda Networks, Inc. offers industry-leading solutions designed to solve mainstream IT problems – efficiently and cost effectively – […]

  • 1
  • 2