4 votos

MySQL recuperación de datos (innoDB) - falta de .frm archivos, pero intacta ibdata

Un servidor recientes fiasco me dejó con un por-todas-las apariencias intacta ibdata archivo, pero sólo la mitad de mi .frm-que contiene los directorios. He copiado todo esto a un nuevo mysql instalar, y se han recuperado con éxito las bases de datos que todavía tenía .frm archivos. Mi pregunta es: ¿es posible regenerar el .frm archivos de la ibdata archivo de alguna manera? O de alguna manera modificar la .frm archivos de la versión de desarrollo de la misma base de datos de tal manera que puede ser utilizado para la recuperación?

Restaurar desde copia de seguridad, lamentablemente, no es una opción viable.

Editado para aclarar: he tratado de recuperar las bases de datos utilizando generados localmente .frm los archivos que contienen el mismo esquema - no dados, incluso en innodb_force_recovery = 1.

2voto

polynomial Puntos 3284

Yo nunca he hecho esto, pero su pregunta se refiere a las herramientas que yo uso para que me entró la curiosidad! Parece que esto es realmente posible, he aquí un ejemplo:

http://www.chriscalender.com/?p=28

En algún momento usted puede necesitar para recuperar una tabla cuando todo lo que tienes es el .eii archivo. En este caso, si intenta cargar en una nueva instancia, su probablemente encuentres algunos errores acerca de la tabla de identificación de no coincidencia. Y no hay realmente una forma de evitar esto.

Sin embargo, he encontrado dos soluciones para esto:

Nota: Usted necesitará el .eii archivo y la instrucción CREATE TABLE para cada tabla que desea recuperar el uso de estos métodos.

  • Simular la interna de tabla InnoDB contador. Es decir, crear mesas de trabajo (con innodb_file_per_table habilitado) hasta que el puntero interno de tabla de id igual a (1 – id_of_ibd_table_you_need_to_restore). (Ver Método #1)
  • Manualmente hex editar el .eii archivo, cambiar el id de tabla. (Vea El Método #2)

Los pasos son varias páginas, así que no me he pegado aquí.

Otro post relacionados: http://www.mysqlperformanceblog.com/2011/05/13/connecting-orphaned-ibd-files/

Voy a ser curioso oír a si que funciona, se ve como varias personas que lo han utilizado con éxito.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: