Hacer Backup Bases de Datos MySql



Les explicare el método que tengo para hacer backups automáticos de las bases de datos de mis sitios alojadas en mi hosting compartido, este método funciona a la perfección cuando no podemos contratar con una hosting privado ni hacer uso de la consola en caso de que tengamos linux.

Les explicare de la forma mas simple y sin entrar en detalles, basta con tener los datos de usuario y contraseña de el “phpmyadmin” en muchos casos es igual al acceso del cPanel de nuestro sitio y listo con esto podemos hacer un respaldo de nuestras bases de datos y copiarlas a una carpeta de nuestro hosting, la cual podremos descargar después con algún gestor de descargas como wget 🙂

Veamos:

<?php
system(“mysqldump -h localhost -u usuariobasededatos -p paswordbasededatos basededatos > respaldos/basededatos.sql”);
?>

El código es bastante simple, en primer lugar y de color azul, vemos el comando system que se usa en PHP para mostrar el resultado de un comando que se ejecuta en la maquina donde se encuentra el archivo, en este caso el comando es el que se encuentra dentro de las comillas, luego el comando  mysqldump lo usamos para hacer el backup (no profundizare sobre el) ahora después de -h viene la dirección ip o el host en donde se encuentra alojada la base de datos, en este caso y en la mayoría de los casos esta en el mismo servidor donde vamos a correr el código, así que ponemos localhost, luego después de -u se encuentra usuariobasededatos esto lo debemos reemplazar por el usuario que tiene acceso a esa base de datos, a continuación del -p debemos colocar la contraseña del usuario que tiene acceso a la base de datos (paswordbasededatos) e inmediatamente después debemos poner el nombre exacto de la base de datos que vamos a respaldar (basededatos) y por ultimo, después del signo “>” debemos poner la ruta y el nombre del archivo con el que se guardara el respaldo, este debe tener una extensión .sql (respaldos/basededatos.sql).

Si quieremos hacerlo desde la consola y tenemos acceso para ejecutar una terminal en nuestro servidor, simplemente debemos poner (basándonos en el mismo ejemplo) las mismas lineas de codigo que estan dentro del comando system, de la siguiente manera.

mysqldump -h localhost -u usuariobasededatos -p paswordbasededatos basededatos > respaldos/basededatos.sql

Ya el siguiente paso seria automatizar esto para que se generen respaldos cada cierto tiempo, no voy a profundizar en esto ya que simplemente se debe agregar una linea en el cronjob de tu servidor y listo.

Espero esta información les haya sido de utilidad, si tienen preguntas dejen sus comentarios 🙂

7 thoughts on “Hacer Backup Bases de Datos MySql

  1. Hola!!!

    Esto es precisamente lo que necesito. Estoy haciendo la prueba con el ejemplo que pusiste por consola y crea el archivo pero vacío! Sabes por que sucede esto?

  2. Saludos Realice el ejemplo que muestras y también me genera el respaldo vació me podrias ayudar Gracias

  3. explica algo del cronjob lo puedo usar si tengo phpmyadin y uso el xampp para el servidor apache y mysql? quedaria agradecido friend

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *