Anda di halaman 1dari 3

MPCH | Gerencia de Tecnologa y Comunicaciones

BACKUP Y RESTAURACIN 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 ms an si programas con PHP seguramente sabes lo que es el motor de base de datos MySql, al hacer sitios dinmicos 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. Adems, puedes usar estos mtodos para mover la base de datos a un nuevo servidor. #Back up desde la lnea de comandos (usando mysqldump). #Back up de tu base de datos MySql con compresin. #Restaurando tu base de datos.

Backup desde la lnea de comandos (usando mysqldump) Si ests 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 especficas 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 Gmez

MPCH | Gerencia de Tecnologa y Comunicaciones

A veces es necesario hacer el back up de ms de una base de datos a la vez. Para esto, tu puedes usar la opcin --databases seguida por el listado de bases que te gustara respaldar. El nombre de cada base est separado por un espacio en blanco:
root@mylinux:~$ sudo mysqldump -uroot -pmypass --databases Usuarios Articulos Imagenes > manydb_backup.sql

Si quieres respaldar todas las bases de datos del servidor de una sola vez, debes usar la opcin --all-databases. Esta opcin le dice a MySql que haga un dump de todas las bases de datos almacenadas:
root@mylinux:~$ alldb_backup.sql sudo mysqldump -uroot -pmypass --all-databases >

El comando mysqldump tambin tiene algunas otras opciones tiles: --add-drop-table: Agrega una declaracin DROP TABLE antes de cada declaracin CREATE TABLE en el dump. --no-data: Respalda solo la estructura de la base de datos, no los contenidos. --add-locks: Agrega las declaraciones LOCK TABLES y UNLOCK TABLES. Backup de tu base de datos MySql con compresin Si tu base de datos MySql es demasiado grande, podras querer comprimir la salida del mysqldump. Para esto, debes utilizar el siguiente comando, para obtener el backup en un archivo gzip.
root@mylinux:~$ sudo mysqldump -u[uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]

Si deseas extraer el archivo .gz, usa el siguiente comando:


root@mylinux:~$ sudo gunzip [backupfile.sql.gz]

Ing. Jos Antonio De La Cruz Gmez

MPCH | Gerencia de Tecnologa y Comunicaciones

Restaurando tu base de datos Ms arriba hicimos el backup de una base de datos llamada Usuarios dentro de un archivo usuarios_backup.sql. Para restaurar la base de datos Usuarios debes seguir los siguientes pasos:

#Crear una base de datos llamada apropiadamente en el nuevo servidor. #Cargar el archivo usando el siguiente comando mysql:
mysql -u[uname] -p[pass] [db_to_restore] <

root@mylinux:~$ sudo [usuarios_backup.sql]

Para restaurar backups comprimidos puedes hacer lo siguiente:


root@mylinux:~$ sudo gunzip < [backupfile.sql.gz] | mysql -u[uname] -p[pass] [dbname]

Si necesitas restaurar una base de datos que ya existe, debers usar el comando mysqlimport. La sintaxis para mysqlimport es la siguiente:
root@mylinux:~$ sudo mysqlimport -u[uname] -p[pass] [dbname] [backupfile.sql]

Ing. Jos Antonio De La Cruz Gmez

Anda mungkin juga menyukai