Este es el manual oficial GUI de DBRecover for MySQL v2605. DBRecover for MySQL es software gratuito y puede usarse sin comprar una licencia. Siempre que sea posible, trabaje con copias de los archivos de base de datos. DBRECOVER for MySQL

Este manual explica cómo usar la interfaz gráfica de DBRecover for MySQL para recuperar definiciones de tablas y filas desde archivos MySQL sin conexión. Está escrito para operadores que tienen archivos de base de datos que recuperar, no para desarrolladores que extienden la herramienta.

Las capturas muestran las operaciones principales de la GUI y el resultado esperado después de cada paso. Siempre que sea posible, trabaje con copias de los archivos originales.

Antes de empezar

Prepare los archivos según el escenario de recuperación:

  • Recuperación de una tabla MySQL 8.x: el archivo .ibd de la tabla.
  • Recuperación de datadir MySQL 8.x: el datadir que contiene directorios de schema y mysql.ibd.
  • Recuperación de una tabla MySQL 5.x o MariaDB: el archivo .ibd de la tabla y el archivo .frm correspondiente.
  • Recuperación de datadir MySQL 5.x o MariaDB: ibdata1, directorios de schema, archivos .frm y archivos de datos de tablas.
  • Recuperación de tablas eliminadas: mysql.ibd, ibdata1 o archivos DD .page; el datadir original o un directorio de páginas carveadas mejora el resultado de exportación.
  • Escaneo de imagen de disco: una imagen raw de disco, imagen de sistema de archivos o copia de un dispositivo de bloques.

Inicie la GUI desde el directorio dbrecoverj:

bash
java -jar target/dbrecoverj-2605-gui.jar

La ventana principal tiene cuatro áreas de trabajo:

  1. Barra de herramientas y menú para abrir archivos, ejecutar herramientas de recuperación y exportar resultados.
  2. Navigator a la izquierda para proyectos, archivos, schemas y tablas.
  3. Área central de contenido para Data, Columns, DDL, SDI e Info.
  4. Panel Log en la parte inferior para progreso, advertencias y rutas de exportación.
Main window
Main window

Escenario 1: Elegir el flujo de recuperación correcto

Use Recovery Wizard cuando no esté seguro de qué ruta de recuperación corresponde a sus archivos.

Flujo de operación

  1. Abra la GUI.
  2. Seleccione Tools > Recovery Wizard....
  3. En el paso 1, elija el modo de recuperación que coincida con sus archivos de entrada.
Recovery wizard step 1
Recovery wizard step 1
  1. Haga clic en Next.
  2. En el paso 2, elija la familia de versión MySQL y el tamaño de página.
  3. Mantenga el tamaño de página en 16384 salvo que sepa que la instancia de origen usaba otro tamaño de página InnoDB.
Recovery wizard step 2
Recovery wizard step 2
  1. Haga clic en Next.
  2. En el paso 3, agregue los archivos o directorios requeridos por el modo seleccionado.
  3. Haga clic en Start.
  4. Revise el panel Log para ver resultados de escaneo y advertencias.
  5. Cuando Navigator muestre schemas o tablas recuperadas, continúe con los pasos de vista previa y exportación del escenario correspondiente.
Recovery wizard step 3
Recovery wizard step 3

Escenario 2: Recuperar una tabla MySQL 8.x .ibd

Use este escenario cuando tenga un archivo .ibd independiente de MySQL 8.x. Las tablas MySQL 8.x normalmente contienen metadatos SDI, por lo que DBRecover puede detectar la estructura sin un archivo .frm.

Flujo de operación

  1. Seleccione File > Open File... o haga clic en el botón Open File de la barra de herramientas.
  2. Seleccione el archivo .ibd.
  3. El archivo aparecerá en Navigator > IBD.
  4. Seleccione el nodo .ibd.
  5. Confirme que la pestaña SDI contiene metadatos. Si no aparece ninguna tabla debajo del archivo, revise el panel Log por advertencias de page size o SDI.
Open IBD and view SDI
Open IBD and view SDI
  1. Expanda el nodo .ibd en Navigator.
  2. Seleccione el nodo de tabla.
  3. Abra la pestaña Data.
  4. Primero establezca Rows en un valor pequeño de vista previa, por ejemplo 1000.
  5. Active Include deleted solo si desea incluir registros eliminados.
  6. Haga clic en Reload después de cambiar opciones de vista previa.
Table data preview
Table data preview
  1. Abra la pestaña DDL y revise la sentencia CREATE TABLE generada.
  2. Si el nombre de tabla, columnas o índices no parecen correctos, deténgase y verifique que el .ibd corresponda a la tabla esperada.
Table DDL
Table DDL
  1. Abra la pestaña Columns.
  2. Antes de exportar, revise nombres de columnas, tipos, nulabilidad, valores predeterminados, columnas generadas e índices.
Table columns
Table columns
  1. Abra la pestaña Info.
  2. Revise tamaño de archivo, cantidad de páginas, tipos de página, estado SDI, row format, charset y características detectadas de la tabla.
Table info
Table info

Exportar la tabla recuperada

  1. Seleccione el nodo de tabla en Navigator.
  2. Para exportar DDL, haga clic en Export DDL en la barra de herramientas o haga clic derecho en la tabla y elija Export DDL....
  3. Para exportar filas SQL, haga clic en Export Data o elija Export Data....
  4. Para exportar CSV, haga clic en Export CSV o elija Export CSV....
Table context menu export actions
Table context menu export actions
  1. Elija el archivo de destino cuando se le solicite.
  2. Espere hasta que el panel Log muestre una línea verde de éxito.
  3. Abra el archivo exportado y revise cantidad de filas, codificación de texto y filas representativas antes de usarlo en otra base de datos.

Escenario 3: Recuperar muchas tablas MySQL 8.x desde un datadir

Use Dictionary Mode cuando tenga un datadir MySQL 8.x y quiera recuperar muchas tablas en una sola pasada.

Flujo de operación

  1. Seleccione Tools > MySQL8 Dictionary Mode....
  2. Confirme la ruta del datadir en el diálogo.
  3. Haga clic en Scan.
  4. Espere a que se llene la lista de tablas.
  5. Revise los nombres de schema, nombres de tabla y advertencias.
  6. Haga clic en Export All DDL... para exportar definiciones de tablas.
  7. Haga clic en Export All Data... para exportar archivos SQL de filas.
  8. Haga clic en Export All CSV... para exportar archivos CSV.
  9. Haga clic en Export Schema Dump... si necesita dumps importables por schema.
  10. Elija un directorio de salida para cada operación de exportación.
  11. Revise el panel Log y los archivos exportados después de cada operación.
MySQL 8 dictionary mode
MySQL 8 dictionary mode

Comprobaciones recomendadas

  1. Exporte primero el DDL.
  2. Revise algunas tablas grandes y pequeñas.
  3. Exporte primero un conjunto pequeño de CSV antes de exportar todos los datos de un datadir grande.
  4. Use Preferences para establecer un límite de filas si necesita una primera pasada acotada.

Escenario 4: Recuperar una tabla .ibd de MySQL 5.x o MariaDB con .frm

Use este escenario cuando la tabla de origen sea de MySQL 5.x o MariaDB. Estas tablas no contienen metadatos SDI de MySQL 8, por lo que DBRecover necesita el archivo .frm correspondiente o una sentencia CREATE TABLE compatible.

Inspeccionar primero el archivo .frm

  1. Seleccione File > Open .frm File (MySQL 5.x)....
  2. Seleccione el archivo .frm que pertenece a la tabla.
  3. Revise el DDL generado.
  4. Abra la pestaña Columns en el diálogo de resultado FRM y confirme la lista de campos.
  5. Cierre el diálogo después de comprobar la estructura.
FRM parse result
FRM parse result

Asociar el .frm con el .ibd

  1. Seleccione File > Open File....
  2. Seleccione el archivo .ibd de MySQL 5.x o MariaDB.
  3. En Navigator, haga clic derecho en el nodo .ibd.
  4. Elija Associate .frm File (MySQL 5.x)....
  5. Seleccione el archivo .frm correspondiente.
  6. Expanda el nodo .ibd.
  7. Seleccione el nodo de tabla creado desde el .frm.
  8. Abra DDL, Columns, Data e Info igual que en el escenario de tabla única MySQL 8.
MySQL 5 FRM DDL
MySQL 5 FRM DDL

Exportar la tabla

  1. Seleccione el nodo de tabla.
  2. Exporte primero el DDL.
  3. Previsualice filas en la pestaña Data con un límite pequeño.
  4. Exporte SQL o CSV cuando la vista previa sea correcta.
  5. Si los valores aparecen desplazados a columnas incorrectas, verifique que el .frm sea de la misma definición exacta de tabla.

Escenario 5: Recuperar un datadir MySQL 5.x o MariaDB

Use este flujo cuando tenga un datadir que contiene ibdata1, archivos .frm y archivos de datos de tablas.

Flujo de operación

  1. Seleccione Tools > MariaDB/MySQL5 Datadir Recovery....
  2. Seleccione el datadir de origen.
  3. Si ya carveó archivos .page desde una imagen de disco, seleccione la raíz del page set como raíz de búsqueda.
  4. Haga clic en Analyze.
  5. Espere a que aparezcan la lista de tablas y los mensajes de estado.
  6. Revise la lista de tablas y advertencias.
  7. Haga clic en Export DDL..., Export Data..., Export CSV... o Export Schema Dump....
  8. Elija el directorio de salida.
  9. Revise el panel Log por tablas omitidas o archivos .frm faltantes.
MySQL 5 datadir recovery
MySQL 5 datadir recovery

Comprobaciones recomendadas

  1. Confirme que ibdata1 viene del mismo datadir que los archivos .frm y .ibd.
  2. Exporte primero DDL para verificar nombres de tabla y definiciones de columnas.
  3. Use CSV para comprobaciones rápidas.
  4. Use schema dumps si desea una salida importable por schema.

Escenario 6: Recuperar tablas o bases de datos eliminadas

Use Drop Recovery cuando se hayan eliminado tablas, pero los metadatos aún puedan estar en mysql.ibd, ibdata1 o páginas de diccionario de datos carveadas.

Flujo de operación

  1. Seleccione Tools > Drop Recovery....
  2. Seleccione la fuente del diccionario:
  • MySQL 8: mysql.ibd o un directorio de páginas DD .page recuperadas.
  • MySQL 5.x/MariaDB: ibdata1.
  1. Seleccione el datadir si está disponible. Esto ayuda a DBRecover a localizar archivos .ibd de tablas para exportar datos.
  2. Seleccione una raíz de páginas carveadas cuando falte el archivo original de la tabla.
  3. Haga clic en Analyze.
  4. Revise los schemas recuperados y las tablas eliminadas.
  5. Seleccione una tabla.
  6. Exporte primero el DDL.
  7. Exporte SQL o CSV si hay páginas de la tabla disponibles.
  8. Use exportación por lotes si necesita todas las tablas eliminadas detectadas.
Drop recovery
Drop recovery

Comprobaciones recomendadas

  1. Trate la recuperación de tablas eliminadas como best effort.
  2. Prefiera el datadir original cuando todavía esté disponible.
  3. Use páginas carveadas solo cuando el archivo original de tabla falte o esté dañado.
  4. Revise el panel Log para identificar tablas con metadatos disponibles pero sin páginas de datos.

Escenario 7: Carvear páginas InnoDB desde una imagen de disco

Use Disk Image Scan cuando no tenga archivos .ibd limpios, pero sí una imagen raw de disco o de sistema de archivos.

Flujo de operación

  1. Seleccione Tools > Disk Image Scan....
  2. Seleccione el archivo de imagen de disco.
  3. Seleccione un directorio de salida vacío.
  4. Confirme el page size. Use 16384 salvo que la instancia original usara otro tamaño de página InnoDB.
  5. Confirme el scan step. Pasos más pequeños encuentran más páginas, pero tardan más.
  6. Mantenga activado leaf-only para una primera pasada más rápida.
  7. Haga clic en Scan.
  8. Espere a que finalice el escaneo.
  9. Haga clic en Dictionary Recovery... para continuar con los page sets recuperados, o abra Tools > Drop Recovery... y use la salida del escaneo como page root.
Disk image scan
Disk image scan

Comprobaciones recomendadas

  1. Escanee hacia un directorio con suficiente espacio libre.
  2. Mantenga la imagen de disco original en modo solo lectura.
  3. Empiece con un escaneo rápido de leaf pages.
  4. Repita con un paso menor solo si faltan tablas importantes.

Escenario 8: Abrir un directorio directamente

Use apertura directa de directorio cuando quiera que Navigator liste archivos .ibd, .MYD y .page de una carpeta sin iniciar el asistente completo.

Flujo de operación

  1. Seleccione File > Open Directory... o haga clic en el botón Open Directory de la barra de herramientas.
  2. Seleccione la carpeta que desea escanear.
  3. El directorio aparece en Navigator.
  4. Expanda el nodo del directorio.
  5. Seleccione un nodo de tabla o archivo.
  6. Use las pestañas Data, Columns, DDL, SDI e Info cuando estén disponibles.
  7. Para archivos MySQL 5.x sin estructura detectada automáticamente, haga clic derecho y elija Associate .frm File (MySQL 5.x)... o Associate DDL (CREATE TABLE)....
  8. Exporte desde el nodo de tabla seleccionado después de que la vista previa y el DDL sean correctos.
Open directory result
Open directory result

Escenario 9: Configurar preferencias de exportación, vista previa e idioma

Use Preferences antes de exportaciones grandes, cuando necesite salida SQL consistente o cuando quiera cambiar el idioma de la GUI.

Flujo de operación

  1. Seleccione Tools > Preferences....
  2. En la categoría Export, establezca el límite predeterminado de filas de exportación.
  3. Active sentencias INSERT completas si desea incluir nombres de columnas en la salida SQL.
  4. Active salida REPLACE solo si el proceso de importación destino lo requiere.
  5. Active exportación de filas eliminadas solo cuando esté recuperando registros eliminados intencionalmente.
  6. En la categoría Data View, establezca el conteo predeterminado de filas de vista previa.
  7. En la categoría Language, elija System language, English, Chinese (Simplified), Japanese o Spanish.
  8. Haga clic en Apply u OK. Vuelva a abrir ventanas o reinicie la aplicación si una ventana ya abierta sigue mostrando el idioma anterior.
Preferences
Preferences

Escenario 10: Verificar y usar los archivos exportados

Verifique siempre los resultados exportados antes de importarlos en producción.

Flujo de operación

  1. Abra el DDL exportado.
  2. Confirme schema, nombre de tabla, engine, charset, columnas e índices.
  3. Abra el SQL o CSV exportado.
  4. Revise encabezado, cantidad de filas, valores NULL, valores binarios, fechas y codificación de texto.
  5. Importe primero en una base temporal.
  6. Compare cantidades de filas y filas representativas.
  7. Repita la exportación con otro límite de filas o con Include deleted si la primera pasada no contenía las filas necesarias.

Solución de problemas

SíntomaQué revisar
No aparece ninguna tabla debajo de un archivo .ibdConfirme que el archivo sea MySQL 8 con SDI, o asocie un .frm/DDL compatible para MySQL 5.x.
La pestaña Data muestra columnas pero no filasVerifique page size, estructura de tabla y si el archivo contiene clustered index pages.
El texto se ve mal en la GUIRevise charset/collation en Columns e Info, luego valide el CSV con un editor compatible con UTF-8.
La exportación es demasiado grandeEstablezca un límite de filas en Preferences y repita la exportación.
Se encuentra DDL de tabla eliminada pero faltan datosProporcione el datadir original o una raíz de páginas carveadas para que DBRecover pueda localizar páginas de tabla.
El escaneo de disco encuentra pocas páginasConfirme page size y scan step; pruebe un paso más pequeño si la imagen no está alineada a páginas.

Índice de capturas

  • 01-main-window-welcome.png: ventana principal de la aplicación.
  • 02-open-ibd-sdi.png: archivo .ibd MySQL 8 abierto con SDI.
  • 03-table-data.png: vista previa de datos de tabla.
  • 04-table-ddl.png: DDL de tabla generado.
  • 05-table-columns.png: lista de columnas.
  • 06-recovery-wizard-step1.png: selección de modo en Recovery Wizard.
  • 07-recovery-wizard-step2.png: versión y page size en Recovery Wizard.
  • 08-recovery-wizard-step3.png: selección de fuente en Recovery Wizard.
  • 09-preferences.png: diálogo Preferences.
  • 10-disk-image-scan.png: diálogo Disk Image Scan.
  • 11-drop-recovery.png: diálogo Drop Recovery.
  • 12-mysql8-dictionary-mode.png: diálogo MySQL 8 Dictionary Mode.
  • 13-mysql5-datadir-recovery.png: diálogo MySQL 5.x/MariaDB Datadir Recovery.
  • 14-frm-parse-result.png: resultado de análisis directo de .frm.
  • 15-mysql5-frm-ddl.png: DDL MySQL 5.x generado desde .frm.
  • 16-table-info.png: pestaña de información de archivo y tabla.
  • 17-open-directory.png: resultado de abrir directorio directamente.
  • 18-table-context-menu.png: menú contextual de tabla con acciones de vista previa y exportación.