Estamos ejecutando Ubuntu server 13.10 bajo Vagrant, y han llegado a través de un interesante problema.
Estamos anulando la ubicación del zócalo en la resolución conf.d/mi.cnf
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld_safe]
socket = /tmp/mysql.sock
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysql.pid
socket = /tmp/mysql.sock
port = 3306
datadir = /var/lib/mysql
bind-address = 0.0.0.0
Hasta ahora tan bueno. Iniciando el servidor, de hecho hay un socket de escucha en /tmp.
Sin embargo, sólo el superusuario puede acceder a ella!
Como no superusuario, mysql -u root -pXXXX obtiene el siguiente error:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
El cliente intenta conectarse en el mal encaje.
Hemos asumido que el problema era que nuestro usuario no privilegiado no puede acceder a los archivos de conf para encontrar la correcta toma de, y de hecho, el cambio de los permisos en /etc/mysql para 0755 corrige este problema, pero no parece que el derecho de corrección.
Como una nota del lado, en 12.04 este comportamiento es el mismo, pero es enmascarada por el hecho de que cuando mysql se inicia, crea el socket en /tmp, pero también crea un enlace simbólico en /var/run/mysqld, así que cuando el cliente intenta conectarse, se encuentra el socket predeterminado.
En ambos equipos, mysql es la versión 5.5.37.