How can I solve error "SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)"

Posted November 28, 2014 11.1k views

I have a 512MB Digital Ocean droplet running on CentOS 6.5 and using Zpanel as my control panel. In it i have hosted 2 web apps, 1 Laravel 4 and the other WordPress and they both work fine only that from time to time i get the following errors which resolve temporarily when i reboot my VPS.


Zpanel: Critical Error: [0100] - Unable to connect or authenticate to the ZPanel database (zpanel_core).
We advice that you contact the server administator to ensure that the database server is online and that the correct connection parameter are being used.

Laravel: SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ’/var/lib/mysql/mysql.sock’ (2)

WordPress: Error establishing a database connection

How can i permanently solve this.

Thanks in advance.

edited by AHA

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

The most common reason that MySQL will crash or become unavailable on a 512MB droplet is a lack of available memory. Droplets do not have swap space by default and the requirements for a LAMP stack, especially when running a control panel, can exhaust the available memory and cause services to crash.

You can check your available memory with:

free -m

If you find that you are low on memory you can try enabling a swap file on your droplet, optimize your MySQL configuration, or upgrade to a larger droplet plan.

by Justin Ellingwood
Swap space can be used as an "overflow" area for your system when you run out of RAM. The operating system can store data that would normally be kept in RAM on the hard drive in a specially formatted file. In this guide, we'll demonstrate how to create and use one of these files in Ubuntu 14.04.