ERROR 2002: Can't connect to local MySQL server

mitul

Well-Known Member
Feb 8, 2003
291
0
166
Starting mysqld daemon with databases from /var/lib/mysql
mysql
ERROR 2002: Can't connect to local MySQL server through socket
'/tmp/mysql.sock' (2)

Can anyone please help me.

Thank you,

cPanel.net Support Ticket Number:
 

mitul

Well-Known Member
Feb 8, 2003
291
0
166
Thank you,

That worked....

cPanel.net Support Ticket Number:
 

anm

Member
Apr 22, 2002
21
0
301
I have the same error, tried the above, it did not work for me.

Any other ideas?

cPanel.net Support Ticket Number:
 

anm

Member
Apr 22, 2002
21
0
301
Ok, here is where we are so far:

The /tmp/mysql.sock is a symbolic link to /var/lib/mysql/mysql.sock

Which in my case does not exist. From my understanding mysql creates mysql.sock on startup. The permissions on the directory are fine, yet No Go, still same error.

Of note this error began upon downgrading from 4 to 3. Upgrading back to 4 did not fix.

cPanel.net Support Ticket Number:
 

nitromax

Well-Known Member
Feb 12, 2002
189
0
316
I had been running MySQL 4 for over a month with no problems. Then I updated to WHM 7.1.0 cPanel 7.1.0-R20. Still no problems at this point. Then I updated /scripts/easyapache to the July 1st build. At that point MySQL gave me the following error:

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


Then after trying some of the suggestions the error changed to this:

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


I followed the directions in all of the related posts and nothing seemed to work for me. So here is what I did to finally make it work:

I read a post at the RackShack forum that the following needed to be in the /etc/my.cnf file:

[mysqld]
set-variable = max_connections=500

[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
port = 3306
socket = /tmp/mysql.sock


I only had the first 2 lines, so I added the [client] and [mysqld] parts.


Then I shut down mysql and chkservd with the following commands:

service mysql stop
/etc/rc.d/init.d/chkservd stop


Then I removed the following files:

rm -rf /tmp/mysql.sock
rm -rf /var/lib/mysql/mysql.sock


Now restart mysql and chkservd with the following commands and mysql will create the mysql.sock file in the /tmp directory as oulined in the updated my.cnf file:

service mysql start
/etc/rc.d/init.d/chkservd start


Now create the softlink with this:

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock


There were a couple of variations in that last last command to create the softlink. I guess it depends on where mysql creates the mysql.sock file when it starts. So if you are trouble shooting you might shut down mysql as shown above, then remove the mysql.sock files. Then restart mysql as shown above and see where it creates the mysql.sock file. If it creates it in the /tmp directory then you need the softlink command shown above. If it creates the mysql.sock file in the /var/lib/mysql directory then you problaby need to use the softlink command like this as shown in some of the other related posts:

ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock


That worked for me. Hope this helps someone down the line.

cPanel.net Support Ticket Number: