"El único blog del mundo que nació de un huevo"
El Pollo Matutino

Subir grandes bases de datos MySQL

Este post responde al clásico problema… “¿cómo hago para subir una base de datos de MySQL a un servidor en el que no tengo acceso de terminal remoto (telnet/ssh) si el script sql que la contiene es demasiado grande para importarla con el campo ‘upload file’ de un formulario html (phpmyadmin)?” Por aquí hemos pasado casi todos, desde el desarrollador de proyectos en internet hasta el blogger que quiere restaurar un backup de su blog porque lo ha migrado de hosting, ha perdido datos en un mal upgrade de wordpress, o ha realizado un rediseño/hack de su website.

A bote pronto, la primera opción que se nos ocurre es copiar segmentos del script sql a mano para pegarlos en un cuadro de texto y ejecutar las sentencias sql en plan arcaico. La verdad es que el método se las trae, pero funciona. Lo malo es que te haces viejo en el camino y despilfarras tu juventud en realizar el proceso.

Otra opción podría ser crear tu propio script php importador que lea un fuente sql, previamente subido por ftp, y lo cargue en la base de datos local del servidor. Esto sí que es una gran idea, pero te obliga a escribir un programa bastante completo, puesto que aunque pueda parecer una simple tarea… tiene mucho que hilar.

La tercera opción es la mejor que conozco, y se trata de que ese script php importador ya lo haya hecho otra persona. Esto es lo que quiero compartir con vosotros. Mi reciente hallazgo se llama bigdump, y es un script para realizar todo esto de una forma limpia. Permite fuentes sql enormes, de mucho megas y no se inmuta. Tan solo necesita que le demos valores a las variables de configuración de la cabecera para que pueda conectar con nuestra base de datos y listo. Otro punto fuerte es la velocidad. Una vez has empezado una importación, el proceso transcurre bastante rápido y con una interfaz gráfica bastante completa a la hora de mostrar el progreso y solventar el famoso timeout que nos cortaría la importación si fuera demasiado larga y no se tuviera en cuenta la gestión de dicho tiempo límite.

Información y descargas: Web de bigdump (Licencia GNU)

Entradas relacionadas:

  1. Sun compra MySQL
  2. MySQL conserva su licencia tras ser adquirida por Sun