Buscardor

miércoles, 20 de febrero de 2013

Restaurar una base de datos de gran peso en mysql

En LINUX

Aveces restaurar una BD mysql parece una tarea trivial, pero cuando es una BD de mucho tamaño nos vemos con muchos errores como que el motor se cae, arrojando errores como:

ERROR 2006 (HY000) at line 68: MySQL server has gone away

O simplemente el proceso se detiene por un time out.

Para solucionar esto debe seguir estos pasos : 
  •  vaya al archivo my.cnf, podemos editarlo utilizando el comando vi, que es un editor de texto:
                        vi /etc/mysql/my.cnf
  • Una vez abierto el archivo con en el editor vaya a editar la linea que dice
                     max_allowed_packet = 16M
  • Esta variable controla el máximo tamaño del buffer de comunicación, es decir número de megaBytes que pasaran en una comunicación con mysql.

  • Mueva las flechas para posicionarse sobre el numero 16 y oprima la tecla "x" para borrar el valor luego la tecla "i", para insertar texto a la izquierda del cursor luego cuando ya ingrese el tamaño deseado presione la tecla Esc ; luego ":w" para guardar y por ultimo ":q" para salir.
  • Luego de esto ya podrá realizar restauraciones y back-ups de bases de datos mysql en menos tiempo, evitando los errores antes mencionados.



En WINDOWS

Para realizar este mismo procedimiento en Windows debemos editar el mismo archivo.
  • Para esto vaya la ruta de instalación de mysql por ejemplo:
                     C:\Archivos de programa\MySQL\MySQL Server 5.1
  • Busque el archivo " my-huge.ini ", este archivo contiene la variable 
                     max_allowed_packet = 1M, 
  • Con su editor de texto preferido cambie este tamaño pro uno que sirva para el proceso.
  • Luego reinicie mysql dependiendo de la instancia el comando puede variar:
                        net stop MySQL;
                        net start MySQL;

Una vez reiniciados los servicios podrá restaurar sus bases de datos sin problema.

No hay comentarios:

Publicar un comentario