martes, 4 de junio de 2013

"Fatal error: Maximum execution time of 300 seconds exceeded" al cagar archivo grande en MySQL

Clásico error  si trabajamos transfiriendo o cargando scripts de bases de datos muy grandes. Los valores en un servidor MySQL por default -- sobre todo si es una máquina de escritorio, laptop o similares de computadoras personales -- suelen estar orientados a requerimientos muy básicos.

Hay varios parámetros que se pueden adecuar en los valores de nuestro servidor MySQL los cuales los podemos cambiar (en mi caso usando ubuntu) en /etc/mysql/my.cnf .

Sin embargo es raro que aparezca el error que arriba comento pero al cargar un archivo dump de MySQL desde consola, ¡¿¿en que endemoniado momento se metió PHP en esto??!

Me sucedió a mi, y por más que cambié los parámetros de MySQL e incluso de PHP (php.ini) no se solucionaba eso. Cargué desde consola, desde el prompt del cliente de MySQL y nada. La línea completa del error al cargar el archivo (que era un archivo grande, alrededor de 500MB, pero vamos, ¡no es para tanto!) era la siguiente:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Fatal error: Maximum execution time of 300 seconds exceeded in /usr/share/phpmya' at line 57

Era un error de MySQL que involucraba extrañamente a PHP. Desesperado fui al archivo en cuestión y en la última linea aparecía el texto tal cual: "Fatal error: Maximum execution time of 300 seconds exceeded in /usr/share/phpmyadmin/libraries/export/sql.php on line 1080" . Pero para llegar a esta solución hubo que batallar un buen rato, todos los blogs halaban de cambiar los parametros de PHP, si como no... 

¡PERO SI CLARO!

Había ocurrido un error al crear el archivo dump de la base de datos en el servidor origen y se había imprimido la salida del mismo en el archivo al final, por supuesto.

Entonces volvemos a crear el dump asegurándonos que se genere correctamente (Este error apareció al intentar hacer un dump de una base muy grande a través de PhpMyAdmin, les recomiendo usen el mysqldump desde consola).

Y listo, no debe haber mayor problema al cargar su archivo correcto.. jeje..

Aquí donde encontré la inspiración para la solución a este problema (le pasó lo mismo que a mi). Thanks amigo!


Hasta la vista javer@s

No hay comentarios:

Publicar un comentario