Respaldar y restaurar bases de datos MySQL en C#

Podemos respaldar bases de datos MySQL gracias a los archivos de volcado que contienen toda la estructura de nuestra base de datos incluyendo los registros, aquí de dejo un tutorial para realizar respaldos y restaurar bases de datos completas en C#.

Para ello vamos a requerir de una librería llamada MySqlBackup.Net que podemos descargar desde su repositorio oficial en GitHub siguiendo este enlace, una vez descargada la vamos a añadir las referencias a MySqlData y MySqlBackup a nuestro proyecto.

Respaldar la base de datos

En comparación con mi tutorial anterior para respaldar bases de datos MySQL desde Java, esta librería nos hace más fácil esta tarea ya que basta con usar nuestra misma conexión a nuestra base de datos y el nombre o ruta del archivo final, para que nos genere un volcado completo de nuestra base de datos.

Vamos a codificar el método de respaldo de nuestra base de datos, para ello utilizare una clase aparte, donde tengo mi conexión a mi base de datos y solo creo un método llamado
respaldo(string ruta) , donde la ruta es el directorio a donde se guardara mi volcado, el código sera el siguiente:

Al final el programa nos genera el archivo de volcado en la ruta que le especificamos o en el mismo directorio con el nombre que le hayamos especificado.

Restaurar base de datos

De igual forma para restaurar nuestra base de datos a partir del archivo de volcado vamos a crear un método llamado
restaurar(string ruta) donde ruta es el directorio de nuestro archivo de volcado, el código quedaría de la siguiente forma, nota que agrego el código en mi misma clase
database.cs .

El proceso de restauración puede ser un poco tardado, dependiendo que tan grande sea tu base de datos y la cantidad de registros que existan en ella.

Al final mi clase
database.cs quedara de la siguiente forma

Para finalizar solo hay que crear una instancia de nuestra clase y llamar nuestros métodos, yo recomendaría utilizar un
OpenFileDialog y un
SaveFileDialog para la selección y guardado de datos tal como lo hice en el programa de ejemplo que puedes descargar.

Ejemplo de interfaz implementada

Código fuente

Puedes descargar un proyecto de ejemplo hecho con WinForms, para utilizarlo solo cambia los datos con los de tu base de datos en la clase database.cs.

Descargar código fuente

Recuerda descargar las librerías y añadirlas al proyecto para que funcione.


Como acabas de ver, respaldar bases de datos MySQL es más sencillo de hacer gracias a esta librería.

¿dudas? Por favor comenta trataremos de darle una solución y recuerda activar las notificaciones de este blog para recibir más tutoriales.

Comentarios

Utilizamos cookies para asegurar que damos la mejor experiencia al usuario en nuestra web. Si sigues utilizando este sitio asumiremos que estás de acuerdo. Aceptar Política de privacidad