Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am trying to access MySql on my Ubuntu 10.04 LTS (lucid) system. I am aware that there are a lot of results out there for this error but none seem to be helping me. I am a novice on Linux so any help might need to be spelt out.

When running

mysql -u root -p

at the command prompt, I receive the error

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)

The sock file definitely exists; running

sudo ls -la /var/lib/mysql

includes the line

-rwxrwxr-- 1 mysql mysql 0 2011-11-03 19.05 mysql.sock

and running ls on the parent directory looks like this

sudo ls -la /var/lib
drwxr-xr-- 5 mysql mysql 4096 2011-11-03 18.14 mysql

I think MySql is running;

sudo service mysql start

results in

mysql start/running

And the my.cnf file (located at /etc/mysql/) includes the line

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

under the [mysqld] section.

Any pointers would be greatly appreciated. This site is live and since it is hosting a WordPress installation, not being able to access MySql completely breaks the site!

EDIT

Output from comment;

ps -ef | grep mysql
mysql     1869     1  0 20:15 ?        00:00:00 /usr/sbin/mysqld
pete      1953  1713  0 20:36 pts/0    00:00:00 grep --color=auto mysql
share|improve this question
1  
what does the output of ps -ef | grep mysql show ? –  Iain Nov 3 '11 at 20:13
    
See the edit for the output –  smix96 Nov 3 '11 at 22:43
    
754 is a very odd mode to see for the /var/lib/mysql directory. –  Magellan Jan 27 '12 at 14:05

2 Answers 2

mysql.sock is NOT a socket file, it is a standard file with 0 byte size.

I'd (1) terminate mysql, (2) delete the mysql.sock file, and then (3)restart mysql which will properly make the socket file. You should see a socket file looking like the following when doing an ls -l mysql.sock.

 srwxrwxrwx 1 mysql mysql            0 2011-10-06 15:25 mysql.sock
share|improve this answer
    
Ok, I've deleted it using sudo rm mysql.sock. Now doing ls -l mysql.sock does result in what you've posted however I still get exactly the same error as before. –  smix96 Nov 3 '11 at 20:24
    
Also, it looks like you are getting some type of file permission problem indicated by error 13. So I'd start investigating that as well. –  mdpc Nov 3 '11 at 20:35
    
I'm really not sure how I would go about investigating that. Any starting points? –  smix96 Nov 3 '11 at 20:40
    
I have run CHOWN -R mysql:mysql /var/lib/mysql I don't know if this should allow mysql all it requires? –  smix96 Nov 3 '11 at 21:15

mysqld should have its socket file somewhere under /var/run. On my debian system it's /var/run/mysqld/mysqld.sock.

/var/lib/mysql is the directory for the actual database, not runtime information.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.