Buscar publicaciones

MySQL shell script backup

El cliente mysqldump es la herramienta provista por MySQL para volcar una base de datos como backup o para llevarla a otro servidor SQL (no necesariamente MySQL).

Para realizar una tarea de backup, que mejor que un pequeño script bash para hacer la labor. El siguiente, es un ejemplo de script, para crear un único archivo de backup con todas las bases de datos del servidor, o bien, un archivo por base de datos:


[CODE]
#!/bin/bash
USER=nombre
PASS=clave

for db in `echo "show databases" | mysql -u $USER -p $PASS | grep -v ^mysql$ | grep -v ^Database$`;
do
#un archivo por base de datos
mysqldump --add-drop-table --routines -u $USER -p $PASS ${db} > ${db}.sql;

#un unico archivo para todo el servidor de base de datos
mysqldump --add-drop-table --routines -u $USER -p $PASS ${db} >> ${HOSTNAME}.sql;
done
[/CODE]

Vía: EcuaLUG

13 comments on MySQL shell script backup

  1. Desde una consola de MySQL debes ejecutar SOURCE path_de_archivo.sql.

    O bien, ejecutas la el cliente de línea de comandos de mysql, enviando a su entrada estándar el archivo .sql:

    mysql -u usuario -p contrasenia mi_db < backup.sql Saludos

  2. Esta genial el script, felicidades. Pero un pequeño apunte, ejecutas 2 veces el mysqldump para volcar la base de datos en 2 ficheros distintos igual es algo mas ligero que el segundo volcado sea un cat sobre el primer fichero es decir:

    cat ${i}.sql >> ${HOSTNAME}.sql;

    Igual asi es un poco mas rapido, piensa que igual alguna base de datos pesa bastante mas. Y ademas podiamos comprimirlo despues 🙂

    Un saludo.

Deja un comentario

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