0
Mysql - InnoDB base rota

Open 6 Respuestas 64 Views
Si ya se, soy un boludo, pero no hay backup, se corto la luz y me quedo manco una base de wordpress que hace que una web recontra fea no levante.

El mysql empezó a tirar errores y no iniciaba y la única solución para levantarlo fue borrar los archivos ibdata1  ib_logfile0  ib_logfile1 que estan en /var/lib/mysql

Con esto, levanto mysql, pero la base de datos no funciona, me dice que no existen las tablas.

Alguna idea de como puedo resolverlo? Tengo backup de /var/lib/mysql (después del desastre) y la tengo en otra pc para ver si la puedo levantar.

Saludos.

Emiliano - gamba47

6 Respuestas

1

Hola , como va: 

El libdata1   es un Datafile (donde estan los datos posta)  ,  ib_logfile0  y ib_logfile1 son redolog-files (sirven para reconstruir el motor a partir de un backup viejo o recuperar por corrupcion de datos al que esta) 

Si borraste estos y no tenes un Backup reciente... no veo mucho que hacer..

respondido por DBA73 Feb 29, 2016
1Comentarios
comentado por Gamba47 (4,080 puntos) Feb 29, 2016
Los archivos los tengo, el tema es que al poner en su lugar el libdata1 mysql crashea por completo.
1
No tuve chance de testearlo, pero tengo entendido que esto puede servir.
http://stackoverflow.com/questions/226172/how-do-i-repair-an-innodb-table
respondido por Monduza (1,940 puntos) Feb 29, 2016
1Comentarios
comentado por Gamba47 (4,080 puntos) Feb 29, 2016
Si saco el ibdata1 e inicio mysql puedo usar esta opción? porque por lo que tengo entendido el ibdata1 es el que tiene la información importante.

Saludos!
1
Tendrias que haber venido antes...

ibdata1 es el archivo donde estaban las tablas, si lo borraste... adieu!

Trata de recuperarla de algun backup, si podes y te sigue dando errores avisa y te damos una mano para tratar de repararla.
respondido por qlixed (10,630 puntos) Mar 1, 2016
1Comentarios
comentado por Gamba47 (4,080 puntos) Mar 2, 2016
Hola QliXed!

No hay un solo backup y el archivo ibdata1 es el que esta detonado, alguna idea? por lo menos para reconstruirlo?

Si pongo el ibdata1 en /var/lib/mysql y restart de mysql, hace un crash y me dice que el problema es ibdata1, si lo saco, todo inicia, pero obviamente las tablas no tienen nada.
1
Your are in the oven....

Fijate si esto te ayuda:

https://dev.mysql.com/doc/refman/5.5/en/innodb-recovery.html

Una vez reiniciado el sistema le hiciste un fsck? Fijate si podes recuperar algo con testdisk.

Saludos
respondido por luigibalzani (10,530 puntos) Mar 1, 2016
1Comentarios
comentado por Gamba47 (4,080 puntos) Mar 2, 2016
Fue lo primero que leí, probé desde force_recovery 0 hasta 6, sin ningún resultado :(
1

Fijate esta tool https://www.percona.com/docs/wiki/innodb-data-recovery-tool:start 

'Percona's Data Recovery tool for InnoDB is a set of tools that can help recover data from lost or corrupted MySQL tables. It works by extracting the rows from the raw files.

There are no guarantees, especially in case of corruption that affects the row storage areas of the files (as opposed to the file headers and other meta-data). It is a tedious process that requires an understanding of InnoDB's internal data storage format, C programming, and quite a bit of intuition and experience.'

respondido por edux (12,550 puntos) Mar 2, 2016
1Comentarios
comentado por Gamba47 (4,080 puntos) Mar 2, 2016
Hola Eduardo!

Lo pruebo y te digo, lo mire por arriba, pero no lo probe.

Gracias.
1
Probaste esto?

https://recovery.twindb.com/

https://twindb.com/repair-corrupted-innodb-table-with-corruption-in-secondary-index/

Fijate esa pagina que tiene mucho sobre recuperacion de base de datos.

Saludos
respondido por luigibalzani (10,530 puntos) Mar 3, 2016
2Comentarios
comentado por Gamba47 (4,080 puntos) Mar 3, 2016
Gracias por los links tambien.

Sinceramente estoy perdido, muchas de las cosas que leo hablan de ingresar al cli de mysql y desde ahí reconstruir todas las tablas, jugando con los valores de innodb_force_recovery del 1 al 6 (tambien godlike tiro poner en 0 el valor). El tema es que en todos los casos me crashrea el mysql-server, por lo tanto no llego al cli.

Saludos!
comentado por luigibalzani (10,530 puntos) Mar 4, 2016
Te fijaste que hay en lost+found?
...