You are on page 1of 3

MPCH | Gerencia de Tecnología y Comunicaciones

BACKUP Y RESTAURACIÓN DE BASE DE DATOS MYSQL
En este post mostraremos como hacer back up de nuestras bases de datos y luego como recuperarlas. Si eres desarrollador web y más aún si programas con PHP seguramente sabes lo que es el motor de base de datos MySql, al hacer sitios dinámicos seguramente guardas data en las bases de datos. Bien, si no quieres perder esta data, es muy importante hacer backups de tus bases de datos regularmente. En este post mostraremos como hacerlo de manera sencilla. Además, puedes usar estos métodos para mover la base de datos a un nuevo servidor.    #Back up desde la línea de comandos (usando mysqldump). #Back up de tu base de datos MySql con compresión. #Restaurando tu base de datos.

Backup desde la línea de comandos (usando mysqldump) Si estás trabajando localmente, o tienes acceso telnet o al shell de tu servidor web, puedes hacer el back up de la base de datos MySql usando el comando 'mysqldump'. Este comando se conecta con la base de datos y crea un archivo SQL dump. El archivo dump contiene las consultas SQL necesarias para reconstruir la base. En un terminal escribimos:
root@mylinux:~$ [backupfile.sql] sudo mysqldump --opt -u [uname] -p[pass] [dbname] >

Donde [uname] es tu usuario de la base de datos, [pass] es el password de tu base de datos (nota que no hay un espacio entre -p y el pass), [dbname] es el nombre de tu base de datos, [backupfile.sql] es el nombre del archivo backup de tu base de datos, y [--opt] son opciones de mysqldump. Por ejemplo, si quieres hacer el backup de una base llamada 'Usuarios' con el username 'root' y con el password 'mypass', y guardar este backup en un archivo llamado 'usuarios_backup.sql', debes escribir:
root@mylinux:~$ sudo mysqldump -uroot -pmypass Usuarios > usuarios_backup.sql

Este comando hará un backup de la base de datos 'Usuarios' dentro de un archivo llamado 'usuarios_backup.sql' el cual contendrá todas las consultas SQL necesarias para restaurar la base. Con el comando mysqldump tú puedes especificar tablas específicas dentro de una base las cuales quieres salvar. Por ejemplo, para hacer el backup de las tablas 'administradores' y 'clientes' de la base 'Usuarios', debes poner el nombre de cada tabla separada por un espacio, tal como se muestra:
root@mylinux:~$ sudo mysqldump -uroot -pmypass Usuarios administradores clientes > usuarios_backup.sql

Ing. José Antonio De La Cruz Gómez

1

tu puedes usar la opción --databases seguida por el listado de bases que te gustaría respaldar.gz] Si deseas extraer el archivo .sql. root@mylinux:~$ sudo mysqldump -u[uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql. Para esto. Backup de tu base de datos MySql con compresión Si tu base de datos MySql es demasiado grande.sql Si quieres respaldar todas las bases de datos del servidor de una sola vez. podrías querer comprimir la salida del mysqldump.MPCH | Gerencia de Tecnología y Comunicaciones A veces es necesario hacer el back up de más de una base de datos a la vez. Esta opción le dice a MySql que haga un dump de todas las bases de datos almacenadas: root@mylinux:~$ alldb_backup. Para esto.gz] Ing. debes utilizar el siguiente comando. debes usar la opción --all-databases.gz. --add-locks: Agrega las declaraciones LOCK TABLES y UNLOCK TABLES. --no-data: Respalda solo la estructura de la base de datos. para obtener el backup en un archivo gzip. El nombre de cada base está separado por un espacio en blanco: root@mylinux:~$ sudo mysqldump -uroot -pmypass --databases Usuarios Articulos Imagenes > manydb_backup. no los contenidos. usa el siguiente comando: root@mylinux:~$ sudo gunzip [backupfile.sql sudo mysqldump -uroot -pmypass --all-databases > El comando mysqldump también tiene algunas otras opciones útiles: --add-drop-table: Agrega una declaración DROP TABLE antes de cada declaración CREATE TABLE en el dump. José Antonio De La Cruz Gómez 2 .

#Cargar el archivo usando el siguiente comando mysql: mysql -u[uname] -p[pass] [db_to_restore] < root@mylinux:~$ sudo [usuarios_backup.sql.MPCH | Gerencia de Tecnología y Comunicaciones Restaurando tu base de datos Más arriba hicimos el backup de una base de datos llamada Usuarios dentro de un archivo usuarios_backup.sql.gz] | mysql -u[uname] -p[pass] [dbname] Si necesitas restaurar una base de datos que ya existe. José Antonio De La Cruz Gómez 3 . deberás usar el comando mysqlimport.sql] Ing. La sintaxis para mysqlimport es la siguiente: root@mylinux:~$ sudo mysqlimport -u[uname] -p[pass] [dbname] [backupfile.sql] Para restaurar backups comprimidos puedes hacer lo siguiente: root@mylinux:~$ sudo gunzip < [backupfile. Para restaurar la base de datos Usuarios debes seguir los siguientes pasos:   #Crear una base de datos llamada apropiadamente en el nuevo servidor.