15 de febrero de 2012

MySQL Copias de Seguridad

El gestor de base de datos MySQL dispone de un comando que nos permite crear copias de seguridad de nuestra base de datos así como restaurar dicha copia.
Además permite restaurar la copia de seguridad en otro gestor de bases de datos aunque no sea MySQL, es capaz de lograr esta acción por que la genera la copia de seguridad en un archivo que almacena todas las sentencias SQL que se necesitan para restaurar tabla por tabla y dato por dato toda la base de datos.


El comando capaz de realizar todas estas acciones en MySQL es mysqldump, este comando tiene una serie de modificadores que deberemos añadir en la ejecución en función del tipo de copia de seguridad que queremos obtener, estos son lo modificadores más comunes aunque tiene más:


--add-locks 
Añade LOCK TABLES antes, y UNLOCK TABLE despues de la copia de cada tabla.

--add-drop-table 
Añade un drop table antes de cada sentencia create

-A, --all-databases 
Copia todas las bases de datos. Es lo mismo que utilizar --databases seleccionando todas.

-f, --force, 
Continúa aunque se produzca un error de SQL durante la copia.

-h, --host=.. 
Copia los datos del servidor de Mysql especificado. El servidor por defecto es localhost.

--routines
Hace una copia de seguridad de los procedimientos almacenados.

-v, --verbose
Va mostrando información sobre las acciones que se van realizando (más lento).

Veamos un ejemplo de funcionamiento de mysqldump:

Crear Copia de Seguridad en MySQL

c:\ mysqldump --modificadores pruebaBD > copiadeseguridadBD.sql

con este comando lo que hacemos es crear un archivo llamado copiadeseguridadBD.sql donde va a  almacenarse todas las sentencias para restaurar nuestra base de datos llamada pruebaBD. Los modificadores que se deben de poner en el comando entre mysqldump y el nombre de la base de datos.

Restaurar Copia de Seguridad en MySQL

c:\mysql pruebaBD < copiadeseguridadBS.sql

Con este comando lo que logramos en restaurar nuestra copia de seguridad  en la Base de datos. Hay que notar que para restaurar la copia de seguridad no se ejecuta el comando mysqldump.






No hay comentarios:

Publicar un comentario