Recuperación parcial de base de datos MySQL InnoDB


base.001

 

Uno de los peores escenarios cuando se comienza a trabajar con bases de datos, ocurre cuando se daña un servidor y no hay un respaldo de la base de datos al cual acudir. En especial cuando hablamos de bases de datos con motor InnoDB de MySQL, por lo que en este post veremos que podemos hacer para recuperar la base de datos.

 

Las bases de datos de MySQL, se pueden crear empleando diferentes motores de almacenamiento, los cuales determinan la forma como se almacena la información de forma física, en cada tabla, lo cual define al velocidad, el rendimiento y el formato de los archivos físicos que representaran a cada tabla de la base de datos.

Para este caso, evaluaremos las bases de datos MySQL creadas con motor InnoDB, las cuales tienen la característica de que si simplemente copiamos los archivos que la componen, de un servidor a otro, no funcionan, ya que el servidor que recibe los archivos no reconoce todas las tablas, aunque estén ahí.

Supondremos que el servidor origen se daño y solo disponemos de los archivos de la base de datos, por lo que le primer paso será instalar la misma versión del servidor MySQL,  si instalamos una versión anterior o una superior la recuperación es menos efectiva.

Los siguientes pasos, los realizaremos a través del phpmyadmin, al ser el administrador de bases de datos MySQL mas empleado en la actualidad; llamaremos servidor origen al servidor que se daño y de donde sacaremos la base de datos y servidor destino el nuevo servidor en donde recuperaremos la base de datos.

Lo primero sera crear en el servidor destino una base de datos, con el mismo nombre que tenia en el servidor origen, para el ejemplo, la llamaremos mueblería.

 

Captura de pantalla 2014-12-27 a las 7.54.03 p.m.

 

Lo siguiente sera abrir la base de datos que acabamos de crear el servidor destino, y crear las tablas que contenía la base de datos.

Captura de pantalla 2014-12-27 a las 8.03.36 p.m.

 

Captura de pantalla 2014-12-27 a las 8.04.49 p.m.

 

Una vez creadas todas las tablas, lo que haremos será detener el servidor, en la siguiente imagen lo mostramos desde el panel de control que instala el XAMPP

Captura de pantalla 2014-12-27 a las 8.07.12 p.m.

Con el servidor MySQL detenido, iremos a la carpeta donde se encuentra la base de datos que acabamos de crear, que en este caso es c:\xampp\mysql\data\muebleria, y eliminaremos todos los archivos que hay en ella. Atención, solo borraremos los archivos, no la carpeta.

Captura de pantalla 2014-12-27 a las 8.10.45 p.m.

Ahora iremos a la copia que tenemos de los archivos de la base de datos que estaba en el servidor origen y los copiaremos

Captura de pantalla 2014-12-27 a las 8.14.51 p.m.

Esos archivos que componen la base de datos del servidor origen los pegaremos en la carpeta del servidor destino en donde borramos los archivos en un paso anterior.

Captura de pantalla 2014-12-27 a las 8.17.05 p.m.

Ahora lo que haremos será iniciar de nueva cuenta el servidor MySQL del servidor destino.

Captura de pantalla 2014-12-27 a las 8.18.39 p.m.

 

Como ultimo paso, entraremos al phpmyadmin, para verificar que tantos datos se pudieron recuperar en este proceso y cuantos se perdieron.

Como tal, siempre habrá perdida de información y no se puede garantizar  que funcione pero es una alternativa para recuperar los datos o al menos parte de ellos.

A continuación les dejamos un esquema del procedimiento.

 

Recuperar BD innoDB

 

Un video mostrando el procedimiento

 

Actividades sugeridas.

  • Investigar los distintos motores de almacenamiento de MySQL y las características de cada uno.
  • Practicar el procedimiento con una base de datos de ejemplo en un servidor local.
  • Investigar en equipo que procedimientos, técnicas o tecnologías, podemos emplear para evitar la perdida de información de nuestras bases de datos.
  • Determine cuales son los beneficios que obtiene de conocer los motores de almacenamiento de MySQL.
Anuncio publicitario

¿Qué estas pensando?

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.