Como hacer backup de bases de datos MySQL

Las bases de datos siempre me parecieron una de las cosas mas complejas que he conocido en informática (he conocido poco entonces, dirán muchos). La cuestión es que ese concepto de “archivo dinámico” que mastiqué hace ya varios años en una clase de Access siempre me generó demasiado respeto, es más, podría decirles que hasta miedo.

Ese miedo me volvió  medio fanático del backup de las bases de datos (junto con el de archivos). Encima que es complicadito el tema la interfaz clásica del manejo de las mismas (mediante PHP Myadmin) suele ser bastante difícil de entender a priori, pero con paciencia y con saliva, el elefante se come a la hormiga vamos a poder, al menos, manejar las básicas. Creo que principalmente por esto suele suceder que el backup de las bases de datos es relegado y hasta olvidado. Luego pasan episodios como el reciente de El Server (recomiendo el artículo de Garcholonte Blasfemius al respecto) y muchos se quieren matar, cuando si bien no me encuentro en posición de juzgar creo que no podemos delegar tanta responsabilidad como puede ser el trabajo de sitios webs de miles de dólares a una empresa, más aún cuando últimamente hemos visto como gigantes como Google o Flickr pierden los datos.

(El incidente de El Server tuvo mucho ruido en Twitter… y mucho hosting buitre se aprovechó)


Este post tiene como idea dar una explicación lo más sencilla posible a aquellos webmasters novatos que instalaron un CMS o aplicación web mediante un Panel “clic fácil” o se lo instalaron en su hosting. Esto hace que haya usuarios o administradores de weblogs o foros que no sepan del todo bien ni siquiera un mantenimiento básico de una base de datos (de hecho a mi no hace demasiado tiempo W. me explicó como hacer un repair de una tabla) ¡Así que vamos a ver como hacer un backup de las bases, carajo!

Primero: saber la URL de PHPMyadmin…

Eso depende de nuestro hosting y cómo hayan configurado la aplicación. Algunos lo configuran para que sea simplementa http://urldelsitio/phpmyadmin y otras suelen ser URL’s mas complejas. Lo mejor es ingresar al panel (por lo general Cpanel) e ingresar a phpmyadmin en el buscador o si se es vago para escribir buscarlo en el panel lateral (0)

cpanel_base_de_datos

 

Segundo: Ejecutar PHPMyadmin.

Ahora ingresamos en la aplicación en si misma, veremos las bases de datos a la izquierda y el “area de trabajo” a la derecha. En la parte superior vemos la mayoría de las acciones a realizar.

A nosotros nos interesa exportar las bases, así que hacemos clic en esa opción (1). Luego seleccionamos todas las bases (2), elegimos que el backup sea comprimido porque la diferencia en tamaño es brutal (3) y por último le damos clic a continuar (4).

backup_base_de_datos

Listo, ya tenemos nuestros backups.

Para “subir” los backups simplemente hacemos el inverso, comenzando con importar.

Obviamente este es el procedimiento mas general, por suerte existen aplicaciones para la mayoría de los CMS que hacen backups directamente (y hasta te envían la BD por e-mail), como por ejemplo WP DB Backup.

El uso es muy simple, dentro de herramientas encontramos la opción “Backup”.

backup_wordpress

Y la interfaz es APB

backup_wordpress_2

Lo mejor es que incluso podemos programar (backups por hora, por día, por mes…) gracias a CRON.

Eso es todo, no es tan difícil al fin y al cabo

10 Comentarios

  1. Útil post para recordar tener un respaldo de la base (y oportuno también jeje).

    Yo recomiendo desactivar la opción “USAR INSERTS EXTENDIDOS”, esto va a ayudar a la hora de restaurar el back-up, y es casi esencial para bases de datos grandes (esto es relativo a la velocidad del servidor), ya que podemos usar scripts como BigDump (http://www.ozerov.de/bigdump/) que restauran el backup progresivamente, eliminando el factor “time out” si la restauración se torna demasiado larga y queda truncada.

    • Interesante el dato del BigDump!

      Lo voy a tener en cuenta cuando me toque manejar bases grandes =)

  2. Me acabo de enterar del incidente de ElServer, que desastre por Dios!

    Bien por el artículo para refrescar la buena práctica que significa hacer backups de las bases de datos.

    Buen fin de semana. Un abrazo.
    Nacho

  3. Lo de la frase que citaste… ¿no era «despacito y con saliva el elefante se COGIÓ a la hormiga»?

    Y con respecto del que escribió el post… ¿No es Gabolonte en lugar de «GarcholonteX?

    ¿O era todo uno de tus típicos cazaboludos y volví a caer xD?

    Saludos!!!

  4. En mi experiencia el HeidiSQL es lo mejor para hacer una importación o backup de una BD. No tenés errores de timeout que phpMyAdmin a veces te tira.

  5. Guille, te recomiendo que pruebes con MySQLDumper, ya que te permite usar CRON, envio al mail, backup/recupero de las bases de datos de tamanio ilimitado, etc. Desde PHPMyadmin la limitante es que si no tenes un dedicado tenes un limite de tamanio de subida de archivo cuando queres recuperar un backup.

Dejar respuesta

Please enter your comment!
Please enter your name here