WP: Can't connect to local server through socket '/tmp/mysql.sock' pero funcionan otros comandos
Introducción
Este es un problema extraño que se produce en algunos escenarios, ya que en el lugar donde ejecutamos este comando, funcionan perfectamente otros comandos habituales de wp cli
.
Sin embargo, hay excepciones y a veces saltan errores extraños.
Sistema con uso diferenciado de sockets
Al tratar de usar wp db
en un sistema en el que hay alguna variación que no nos permite usarlo de la manera habitual, el usuario tiene en su wp-config.php
los datos correctos y, siendo operativo el uso de wp
en su directorio de instalación, obtenemos el siguiente error:
asociaci@srv120:~/domains/domain.com/public_html/portal$ wp db query "DELETE FROM wp_options WHERE option_name LIKE '_wp_session_%';"
Error: Failed to get current SQL modes. Reason: ERROR 2002 (HY000): Can't connect to local server through socket '/tmp/mysql.sock' (2)
Este caso es un caso típico con DirectAdmin con su peculiar sistema de instalación de MySQL/MariaDB.
La solución es sencilla
- Debemos obtener el path de mysql.sock correcto.
- Modificar el
wp-config.php
para el valor'DB_HOST'
;
define('DB_HOST', 'localhost:/usr/local/mysql/data/mysql.sock');
Es el path de socket de Mysql obtenido con alguno de los métodos del punto 1.
Ahora, ya puedes ejecutar el comando sin problema alguno
Este tipo de error, muchas veces limita el alcance de obtención de respuestas, pues muchas respuestas en internet estan asociadas a el servidor esta caido, comprueba tus datos,... que en realidad no tienen nada que ver.
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.