Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (38)

If your file my.cnf (usually in the /etc/mysql/ folder) is correctly configured with

socket=/var/lib/mysql/mysql.sock

you can check if mysql is running with the following command:

mysqladmin -u root -p status

try changing your permission to mysql folder. If you are working locally, you can try:

sudo chmod -R 755 /var/lib/mysql/

that solved it for me


are you sure you installed mysql as well as mysql server..

For example to install mySql server I'll use yum or apt to install both mysql command line tool and the server:

yum -y install mysql mysql-server (or apt-get install mysql mysql-server)

Enable the MySQL service:

/sbin/chkconfig mysqld on

Start the MySQL server:

/sbin/service mysqld start

afterwards set the MySQL root password:

mysqladmin -u root password 'new-password' (with the quotes)

I hope it helps.


A quick workaround that worked for me: try using the local ip address (127.0.0.1) instead of 'localhost' in mysql_connect(). This "forces" php to connect through TCP/IP instead of a unix socket.


I got the following error

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)

Tried several ways and finally solved it through the following way

sudo gksu gedit /etc/mysql/my.cnf

modified

#bind-address       = 127.0.0.1

to

bind-address        = localhost

and restarted

sudo /etc/init.d/mysql restart

it worked


Make sure you are running mysqld : /etc/init.d/mysql start