Hola gente. Necesito su ayuda urgente por favor.
La situación es la siguiente. Tenía todo el entorno de desarrollo en un disco (disco S) y formatee la PC. Pense haber configurado MySQL para q el datadir fuera en el S, pero claramente me olvidé y estaba almacenada en C:\Program Data\MySQL.
Lo que hice fué lo siguiente: con un programa de recuperación de datos (testDisk y Handy Recovery 4) recuperé la carpeta data (con sus carpetas para cada schema y su ibdata1 y demás) y por otro lado tenía un backup del 29-11-2010.
Lo que detallo a continuación lo hice con ambas versiones de la base de datos:
- Copié los archivos manualmente dentro de la carpeta data de una instalación nueva de MySQL. Primero solo las carpetas de los schemas de mi proyecto. Luego copié el ibdata1. Luego sobreescribí tmbn el schema mysql. Tras cada copia probaba su funcionamiento
- Estas pruebas de copia de los archivos, las realizé sobre instalaciones limpias de MySQL: probé con 5.1.53 x64, 5.5.8 x86 y 5.5.13 x64
- Probé modificar el peso default del ibdata en my.ini con esto innodb_data_file_path = ibdata1:10M:autoextend
- Probé entrar en modo recuperación de innoDB desde el my.ini con esto innodb_force_recovery = 4 y con los valores 6 y 1 también
- Verifiqué que los permisos de los archivos copiados sean los correctos
- Probé volviendo a recuperar los archivos de la versión perdida
- Probé armando un datadir manualmente e instalando el MySQL después para ver si tal vez la instalación se basa en el datadir ya existente
Para todos estos casos los resultados fueron los siguientes:
- Generalmente el servicio MySQL no puede iniciar. El log da multiples errores que van desde checsum incorrecto, a conteo de Log inválido (dado que valida la versión del ibdata1 basandose en un conteo interno que lleva en sus logs)
- Y el otro error es un error medianamente típico cuando se manipulan los archivos en el datadir: Incorrect information in file: '.\schema\nombredetabla.frm'
Es un proyecto en el que estuve trabajando los últimos 4 años, no puedo perder NADA. No me digan "y, bancatela por no backupear" pq bastante ya me estoy lamentando sin que me digan nada. Por favor sean constructivos.
Slds y gracias de antemano