Me he encontrado con un error en producción de esos que eres incapaz de reproducir en local, que no deja nada en el log de rails y la única opción posible era revisar el log de base de datos. Investigando un poco he encontrado que mysql guarda un log binario con todas las queries ejecutadas. Y la forma de leer ese log binario es con mysqlbinlog.
En mi caso sabía la hora en la que ocurrió el error, y por fecha el fichero donde estaba el log era mysql-bin.000029, así que ejecutando
/usr/local/mysql/bin/mysqlbinlog --start-datetime="2008-05-28 16:41:00" --stop-datetime="2008-05-28 16:43:00" /var/log/mysql/mysql-bin.000029 >db.sql
He recuperado un fichero de texto con todas las queries ejecutadas y he podido investigar que había pasado...
Amigo pura vida! Me salvaste la vida con esta info que tienes acá!
ResponderEliminarSaludos desde Costa Rica!
y la pregunta es, q es un log binario
ResponderEliminarHola.
ResponderEliminarÉchale un vistazo a esta página de la documentación de MySQL, donde lo explican con detalle
http://dev.mysql.com/doc/refman/5.0/es/binary-log.html
ei diego y como seria la sentencia si el mysql estuviese en windows. la version es mysql server 5.1
ResponderEliminarNo tengo ninguna instalación en windows para comprobarlo, pero mysqlbinlog en windows debería estar en el mismo directorio que el ejecutable de mysql. Además es probable que lo tengas en el path y que ejecutando la instrucción directamente "mysqlbinlog --start-datetime ...." te funcione.
ResponderEliminarTambien te hará falta el path donde está el log binario, lo puedes ver en el fichero de configuración my.cnf
Suerte!