Verifique o bind-address
no seu my.cnf
. Deve ser 0.0.0.0
para permitir conexões locais e remotas.
Verifique com ps xa | grep mysql
quantas instâncias são executadas.
Editar
Aparentemente:
A MySQL client on Unix can connect to the mysqld server in two different ways: By using a Unix socket file to connect through a file in the file system (default /tmp/mysql.sock), or by using TCP/IP, which connects through a port number. A Unix socket file connection is faster than TCP/IP, but can be used only when connecting to a server on the same computer. A Unix socket file is used if you don't specify a host name or if you specify the special host name localhost.
Verifique aqui para obter uma dica útil.
Edit2
Uma das possíveis razões de Can't connect to local MySQL server
, parece ser o problema aqui:
Someone has removed the Unix socket file that mysqld uses (/tmp/mysql.sock by default). For example, you might have a cron job that removes old files from the /tmp directory. You can always run mysqladmin version to check whether the Unix socket file that mysqladmin is trying to use really exists. The fix in this case is to change the cron job to not remove mysql.sock or to place the socket file somewhere else. See Section B.5.4.5, “How to Protect or Change the MySQL Unix Socket File”.
Martin, certifique-se de ter socket = /var/run/mysqld/mysqld.sock
em my.cnf, acredito que o mysqld restart irá resolver o seu problema, ele deve recriar o mysqld.sock e você deve ser capaz de se conectar localmente.