miércoles, 19 de febrero de 2014

Generar Backup MySQL con JAVA usando mysqldump


Crear copia de seguridad MySQL desde JAVA




MYSQLDUMP


  1. MYSQLDUMP es parte de los "MySQL Client Programs" programas de cliente de MySQL, que puede ser utilizado para generar respaldos de bases de datos y ser usados incluso para ser transferidos a otro servidor de base datos SQL (No estrictamente tiene que ser un servidor MySQL).

  • Uso básico

Tres formas básicas de invocar mysqldump son posibles:

1) mysqldump [opciones] nombre_bd [nombre_tabla1 nombre_tabla2 ...] > respaldo.sql
2) mysqldump [opciones] --databases nombre_bd1 nombre_bd2 > respaldo.sql
3) mysqldump [opciones] --all-databases > respaldo.sql

1) respalda una sola base de datos, indicando su nombre, y opcionalmente una o más tablas de la misma base de datos. Si no se indican tablas, se respaldan todas. 

2) respalda una o más bases de datos de forma completa, no se pueden indicar tablas individuales de esta manera. 

3) respalda de forma completa todas las bases de datos del servidor MySQL de forma completa, no se pueden indicar tablas individuales de esta manera.

En todos los casos se indica que la salida del comando, es decir, el vaciado del respaldo se guarde en el archivo llamado "respaldo.sql", este archivo es el resultado final, lo que puede utilizarse después para restaurar una base de datos (véase ejemplos más adelante).


PROYECTO BACKUP MYSQL DESDE JAVA

  • El siguiente código, createBackup.java, realiza una instrucción en mysqldump para crear el backup, después este es guardado en un archivo SQL especificando que lo guardare dentro del proyecto en un paquete backup.

y como resultado final podemos ver nuestro proyecto.





8 comentarios:

  1. quizas algo que olvide es que se cree el archivo sql si el mysqldump te devuelve una respuesta =)

    ResponderEliminar
  2. Se produce una salida compatible para restaurar la base de datos en Oracle
    mysqldump --compatible=oracle --databases clientes > respaldo_clientes_oracle_2011.sql

    ResponderEliminar
  3. me ha funcionado muy bien y gracias por el aporte pero funciona bien en maquinas de 64bits?

    ResponderEliminar
  4. Genial me funciono muchas gracias.

    ResponderEliminar
  5. No se si sea tarde pero falto poner FileWrite.close() no se como le salio al resto si sin esa linea no me ejecutaba, igual muchas gracias por el aporte :D

    ResponderEliminar
  6. ¿Funciona para hacer un backup de una BD en un servidor web?
    Es decir, está en un host... y quiero tener los respaldos en mi PC.
    Soy nueva, es mi primer programa, y quiero saber si para ello requiere MysQL en la m´quina donde instalaré el programa, gracias.

    ResponderEliminar