Solucionar error de conección a MySQL desde linea de comando
Solucionar error de conección a MySQL desde linea de comando

Solucionar error de conección a MySQL desde linea de comando

Un mensaje de error frecuente cuando se trata de usar la utilidad de línea de comando de MySQL es: can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (esta ultima ruta dependera del sistema operativo y la distribuión de linux). Este error es muy simple de resolver.

 

Cuando nos conectamos al servidor local de MySQL, el cliente se a traves de un archivo local llamado socket y no a traves de la dirección local 127.0.0.1. Para el cliente MySQL, la ubicación por defecto de este archivo es ‘/tmp/mysql.sock’, por distintas razones las distintas instalaciones de MySQL crean este archivo en otras ubicaciones, tales como ‘/var/lib/mysql/mysql.sock’.

Una solución es pasar directamente a traves de la línes de comando la ubicación del socket.

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

Es un poco molesto tener que escribir toda la ruta, cada vez que deseamos conectarnos a MySQL, otra de las soluciones (si tienes los permisos necesarios), es crear un alias, por ejemplo, mysql=mysql –socket=/var/lib/mysql/mysql.sock.

También si deseas dejar el cambio como permanente para todos los usuarios de la maquina, puedes modificar el archivo /etc/my.cnf, lo cual dejara de forma permanente configurado al cliente (siempre realiza copias de seguridad de tus archivos de configuración antes de realizar modificaciones).

En el archivo /etc/my.cnf, agrega lo siguiente si es que no existe, generalmente la sección [client] no existe, la cual debe ser agregada al final de la siguiente forma.

[client]
socket=/var/lib/mysql/mysql.sock

Si la sección [client] ya existe en el archivo my.cnf, modifica el parametro socket de la sección [client] para reflejar la ruta correcta de tu sistema.

Otra de las razones por las que este error puede aparecer es, porque el servidor no esta corriendo, para ello puedes verificarlo con el comando:

services mysqld status

En caso de no estar corriendo, puedes iniciarlo con el comando:

services mysqld start