oct 9, 2008
Backups MySQL con mysqldump
Mysqldump, como la mayoría sabéis, es una herramienta de mysql que sirve para realizar copias de seguridad de bases de datos. Es esencial conocer el uso básico de esta herramienta, como es esencial tener un sistema de backups adecuado para cualquier dato almacenado con un mínimo de importancia.
Os voy a poner los ejemplos más básicos y comunes para realizar backups desde línea de comandos con mysqldump.
Realizar backup de una única base de datos:
mysqldump -u root -p nombre_base_de_datos > fichero.sql
De este modo, realizará el backup de la base de datos, solicitando la clave del usuario root mysql, si queréis también se puede especificar pegado a la letra “p” -pclave.
Y si quisieramos restaurar esa base de datos, haríamos lo siguiente:
mysql -u root -p nombre_base_de_datos < fichero.sql
Lo mismo ocurre con la clave del usuario root, la podemos especificar o esperar a que la pregunte.
Si quisieramos realizar un backup de todas las bases de datos:
mysqldump -u root -p --all-databases > fichero.sql
Y si solo quisieramos hacer backup de un par de bases de datos:
mysqldump -u root -p --databases base_datos1 base_datos2 > fichero.sql
Para hacer backup de una sola tabla, dentro de una base de datos:
mysqldump -u root -p base_datos tabla > fichero.sql
Esto es, a grandes rasgos, lo más básico de la herramienta mysqldump, en la propia ayuda de la herramienta encontraréis mucha más información:
mysqldump --help

Hola sabes como usar ese código desde Java
mysql -u root -p nombre_base_de_datos < fichero.sql
como ejecuto eso desde un programa en java
Pues es necesario usar un proceso del sistema operativo…Algo como:
Process proceso = Runtime.
———getRuntime().
———exec(“mysql -uusuario -p basededatos < fichero.sql");
proceso.waitFor();
Para ello recuerda tener mysql en el PATH del sistema.
También podemos comprimir directamente el backup usando tuberías (pipes):
mysqldump –opt -u nombre_usuario -p base_datos nombre_tabla1 | gzip > copia_seguridad.sql.gz
Un saludo,
Alejandro Arco
[...] la estructura (sin datos) de una base de datos MySQL a formato XML hay que utilizar el comando mysqldump con los parámetros –no-data y [...]
Muy buen post, sale muy entendible, aca encontre este otro post que tambien esta muy explicativo:
http://www.hasheado.com/back-up-y-restauracion-de-base-de-datos-mysql.html
saludos..
Gracias por el enlace Fabián.
Un saludo.
Para los que no estan muy familiarizados con la consola de comandos recomendaria esta herramienta: MySQLBackupFTP (http://mysqlbackupftp.com). La utilizo en mi servidor web y es una buena herramienta. Tiene una version gratuita que permite programar backups de 2 bases de datos ademas que envia notificationes por email una vez que los backups se han efectuado.