En más de una ocasión nos habremos visto en la tesitura de que al ejecutar un comando en phpMyAdmin o al importar un archivo, recibimos como respuesta un error muy genérico o un pantallazo en blanco.
Lo que hacemos habitualmente es ir al registro de errores (al llamado log) y buscar la causa.
Problema: Los errores de MySQL no se almacenan en el mismo lugar que los errores de PHP y, por lo tanto, no hallaremos en ellos respuesta alguna a nuestras plegarias.
¿Dónde almacena MySQL o phpMyAdmin el log de errores?
Debemos acceder a nuestro servidor vía SSH y ejecutar los siguientes comandos:
- Buscamos la ubicación del archivo my.cnf:
find / -iname "my.cnf"
- Lo editamos (en mi caso estaba en /etc/my.cnf pero debéis sustituir la ruta por la que os haya aparecido en el paso anterior):
vi /etc/my.cnf
- Ahí nos aparecerá la ruta donde almacena los logs. Podemos anotarla e ir a esa ruta para consultar el registro de errores, o bien cambiarla a otro directorio que nos resulte más familiar:
- En mi caso está en log-error=/var/log/mariadb/mariadb.log por lo que para consultarlo:
vi /var/log/mariadb/mariadb.log
El log habitualmente es un archivo muy extenso, por lo que para consultar los últimos errores y no morir en el scroll, recomendamos el uso de la techa «avpág».
TIP DE LOOPEANDO:
En SSH hay muchas formas de editar archivos, pero en este ejemplo usamos «vi«. Con «vi«, cuando editamos un archivo accedemos a él en modo sólo lectura, por lo que si deseamos editarlo hemos de pulsar la tecla «o».
Cuando finalicemos la edición, para guardar y salir hemos de pulsar la tecla «Esc» y escribir:
:wq
Y cual es el de phpmyadmin? Eso es de mysql
No tengo ninguno en mi archivo, cuál sería por defecto?