En el siguiente ejemplo veremos cómo restaurar una copia de seguridad generada con mysqldump desde una aplicación C#.
El fichero de copia de seguridad puede haberse realizado con mysqldump
o con un programa desarrollado que utilice un código similar al siguiente ejemplo: Copias de seguridad en MySql.
Con este ejemplo y el comentado anteriormente podemos implementar un módulo de copias de seguridad que por una parte genere ficheros de backup y por otra parte los restaure cuando sea necesario.
El método que realizará la restauración es el siguiente:
private void restaurarBBDDMySql(String path_fichero_mysqldump)
{
try
{
Process miProceso;
miProceso = new Process();
//Es necesario que el fichero mysql.exe esté en el PATH del sistema
miProceso.StartInfo.FileName = "mysql";
miProceso.StartInfo.Arguments = "--host=ip_servidor --database=bbdd --user=usuario --password=clave";
miProceso.StartInfo.RedirectStandardInput = true;
miProceso.StartInfo.UseShellExecute = false;
miProceso.Start();
StreamWriter myStreamWriter = miProceso.StandardInput;
myStreamWriter.Write(File.ReadAllText(path_fichero_mysqldump,Encoding.Default));
myStreamWriter.Close();
miProceso.WaitForExit();
miProceso.Close();
MessageBox.Show("Se ha finalizado la restauración de datos con éxito");
}
catch (Exception exc)
{
MessageBox.Show("Se ha producido un error. Mensaje: " + exc.Message);
}
}