This is the official DBRecover for MySQL v2605 GUI user manual. DBRecover for MySQL is free software and can be used without a license purchase. Work on copied database files whenever possible. DBRECOVER for MySQL

This manual explains how to use the DBRecover for MySQL graphical interface to recover table definitions and rows from offline MySQL files. It is written for operators who have database files to recover, not for developers extending the tool.

The screenshots show the main GUI operations and the expected result after each step. Work on copied files whenever possible.

Before You Start

Prepare the files for the scenario you are recovering:

  • MySQL 8.x single-table recovery: the table .ibd file.
  • MySQL 8.x datadir recovery: the datadir containing schema directories and mysql.ibd.
  • MySQL 5.x or MariaDB single-table recovery: the table .ibd file plus the matching .frm file.
  • MySQL 5.x or MariaDB datadir recovery: ibdata1, schema directories, .frm files, and table data files.
  • Dropped table recovery: mysql.ibd, ibdata1, or DD page files; the original datadir or carved page directory improves export results.
  • Disk image scan: a raw disk image, filesystem image, or copied block device image.

Start the GUI from the dbrecoverj directory:

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

The main window has four working areas:

  1. Toolbar and menu bar for opening files, running recovery tools, and exporting results.
  2. Navigator on the left for projects, files, schemas, and tables.
  3. Content area in the center for Data, Columns, DDL, SDI, and Info.
  4. Log panel at the bottom for progress, warnings, and export locations.
Main window
Main window

Scenario 1: Choose the Right Recovery Workflow

Use the Recovery Wizard when you are unsure which recovery path fits your files.

Operation Flow

  1. Open the GUI.
  2. Select Tools > Recovery Wizard....
  3. On step 1, choose the recovery mode that matches your input files.
Recovery wizard step 1
Recovery wizard step 1
  1. Click Next.
  2. On step 2, choose the MySQL version family and page size.
  3. Keep the page size at 16384 unless you know the source instance used a different InnoDB page size.
Recovery wizard step 2
Recovery wizard step 2
  1. Click Next.
  2. On step 3, add the files or directories required by the selected mode.
  3. Click Start.
  4. Watch the Log panel for scan results and warnings.
  5. When the Navigator shows recovered schemas or tables, continue with the preview and export steps in the matching scenario below.
Recovery wizard step 3
Recovery wizard step 3

Scenario 2: Recover One MySQL 8.x .ibd Table

Use this scenario when you have a standalone MySQL 8.x .ibd file. MySQL 8.x tables usually contain SDI metadata, so DBRecover can detect the table structure without a .frm file.

Operation Flow

  1. Select File > Open File... or click the Open File toolbar button.
  2. Select the .ibd file.
  3. The file appears under Navigator > IBD.
  4. Select the .ibd node.
  5. Confirm that the SDI tab contains metadata. If no table appears under the file, check the Log panel for page-size or SDI warnings.
Open IBD and view SDI
Open IBD and view SDI
  1. Expand the .ibd node in the Navigator.
  2. Select the table node.
  3. Open the Data tab.
  4. Set Rows to a small preview value first, such as 1000.
  5. Enable Include deleted only when you want deleted records included.
  6. Click Reload after changing preview options.
Table data preview
Table data preview
  1. Open the DDL tab and review the generated CREATE TABLE statement.
  2. If the table name, columns, or indexes look wrong, stop and verify that the .ibd file matches the expected source table.
Table DDL
Table DDL
  1. Open the Columns tab.
  2. Check column names, types, nullability, defaults, generated columns, and indexes before exporting data.
Table columns
Table columns
  1. Open the Info tab.
  2. Review file size, page count, page types, SDI status, row format, charset, and detected table features.
Table info
Table info

Export the Recovered Table

  1. Select the table node in the Navigator.
  2. To export DDL, click Export DDL on the toolbar or right-click the table and choose Export DDL....
  3. To export SQL rows, click Export Data or choose Export Data....
  4. To export CSV, click Export CSV or choose Export CSV....
Table context menu export actions
Table context menu export actions
  1. Choose the destination file when prompted.
  2. Wait for the Log panel to show a green success line.
  3. Open the exported file and check row count, text encoding, and representative rows before using the output in another database.

Scenario 3: Recover Many MySQL 8.x Tables from a Datadir

Use Dictionary Mode when you have a MySQL 8.x datadir and want to recover many tables in one pass.

Operation Flow

  1. Select Tools > MySQL8 Dictionary Mode....
  2. Confirm the datadir path in the dialog.
  3. Click Scan.
  4. Wait until the table list is populated.
  5. Review detected schema names, table names, and warnings.
  6. Click Export All DDL... to export table definitions.
  7. Click Export All Data... to export SQL row files.
  8. Click Export All CSV... to export CSV files.
  9. Click Export Schema Dump... when you want importable schema-level dump files.
  10. Choose an output directory for each export operation.
  11. Check the Log panel and exported files after each export.
MySQL 8 dictionary mode
MySQL 8 dictionary mode
  1. Export DDL first.
  2. Review a few large and small tables.
  3. Export a small CSV set before exporting all data from a large datadir.
  4. Use Preferences to set a row limit if you need a bounded first pass.

Scenario 4: Recover One MySQL 5.x or MariaDB .ibd Table with .frm

Use this scenario when the source table is from MySQL 5.x or MariaDB. These tables do not contain MySQL 8 SDI metadata, so DBRecover needs the matching .frm file or a compatible CREATE TABLE statement.

Inspect the .frm File First

  1. Select File > Open .frm File (MySQL 5.x)....
  2. Select the .frm file that belongs to the table.
  3. Review the generated DDL.
  4. Open the Columns tab in the FRM result dialog and confirm the field list.
  5. Close the dialog after checking the structure.
FRM parse result
FRM parse result

Associate the .frm with the .ibd

  1. Select File > Open File....
  2. Select the MySQL 5.x or MariaDB .ibd file.
  3. In the Navigator, right-click the .ibd node.
  4. Choose Associate .frm File (MySQL 5.x)....
  5. Select the matching .frm file.
  6. Expand the .ibd node.
  7. Select the table node created from the .frm.
  8. Open DDL, Columns, Data, and Info exactly as in the MySQL 8 single table scenario.
MySQL 5 FRM DDL
MySQL 5 FRM DDL

Export the Table

  1. Select the table node.
  2. Export DDL first.
  3. Preview rows in the Data tab with a small row limit.
  4. Export SQL or CSV after the preview looks correct.
  5. If values are shifted into the wrong columns, verify that the .frm file is from the exact same table definition.

Scenario 5: Recover a MySQL 5.x or MariaDB Datadir

Use this workflow when you have a datadir containing ibdata1, .frm files, and table data files.

Operation Flow

  1. Select Tools > MariaDB/MySQL5 Datadir Recovery....
  2. Select the source datadir.
  3. If you already carved .page files from a disk image, select the page set root as the search root.
  4. Click Analyze.
  5. Wait for the table list and status messages.
  6. Review the table list and warnings.
  7. Click Export DDL..., Export Data..., Export CSV..., or Export Schema Dump....
  8. Choose the output directory.
  9. Check the Log panel for skipped tables or missing .frm files.
MySQL 5 datadir recovery
MySQL 5 datadir recovery
  1. Confirm that ibdata1 comes from the same datadir as the .frm and .ibd files.
  2. Export DDL first to verify table names and column definitions.
  3. Use CSV for quick spot checks.
  4. Use schema dumps when you want a single importable output per schema.

Scenario 6: Recover Dropped Tables or Dropped Databases

Use Drop Recovery when tables were dropped but metadata may still be present in mysql.ibd, ibdata1, or carved data dictionary pages.

Operation Flow

  1. Select Tools > Drop Recovery....
  2. Select the dictionary source:
  • MySQL 8: mysql.ibd or a directory of recovered DD .page files.
  • MySQL 5.x/MariaDB: ibdata1.
  1. Select the datadir when available. This helps DBRecover locate table .ibd files for data export.
  2. Select a carved page root when the original table file is missing.
  3. Click Analyze.
  4. Review recovered schemas and dropped tables.
  5. Select a table.
  6. Export DDL first.
  7. Export SQL or CSV if table pages are available.
  8. Use batch export when you need all detected dropped tables.
Drop recovery
Drop recovery
  1. Treat dropped-table recovery as best effort.
  2. Prefer the original datadir when it is still available.
  3. Use carved pages only when the original table file is missing or damaged.
  4. Check the Log panel for tables where metadata exists but data pages are not available.

Scenario 7: Carve InnoDB Pages from a Disk Image

Use Disk Image Scan when you do not have clean .ibd files, but you have a raw disk image or filesystem image.

Operation Flow

  1. Select Tools > Disk Image Scan....
  2. Select the disk image file.
  3. Select an empty output directory.
  4. Confirm page size. Use 16384 unless the original instance used another InnoDB page size.
  5. Confirm scan step. Smaller steps find more pages but take longer.
  6. Keep leaf-only scanning enabled for a faster first pass.
  7. Click Scan.
  8. Wait for the scan to finish.
  9. Click Dictionary Recovery... to continue with recovered page sets, or open Tools > Drop Recovery... and use the scan output as a page root.
Disk image scan
Disk image scan
  1. Scan to a directory with enough free space.
  2. Keep the original disk image read-only.
  3. Start with a quick leaf-page scan.
  4. Re-run with a smaller step only when important tables are missing.

Scenario 8: Open a Directory Directly

Use direct directory opening when you want the Navigator to list .ibd, .MYD, and .page files from a folder without starting a full recovery wizard.

Operation Flow

  1. Select File > Open Directory... or click the Open Directory toolbar button.
  2. Select the folder to scan.
  3. The directory appears in the Navigator.
  4. Expand the directory node.
  5. Select a table or file node.
  6. Use Data, Columns, DDL, SDI, and Info tabs as available.
  7. For MySQL 5.x files without auto-detected structure, right-click the file and choose Associate .frm File (MySQL 5.x)... or Associate DDL (CREATE TABLE)....
  8. Export from the selected table node after the preview and DDL look correct.
Open directory result
Open directory result

Scenario 9: Configure Export, Preview, and Language Preferences

Use Preferences before large exports, when you want consistent SQL output, or when you need the GUI in another supported language.

Operation Flow

  1. Select Tools > Preferences....
  2. In the Export category, set the default export row limit.
  3. Enable complete INSERT statements when you want column names included in SQL output.
  4. Enable REPLACE output only when the target import process requires it.
  5. Enable deleted-row export only when you are intentionally recovering deleted records.
  6. In the Data View category, set the default preview row count.
  7. In the Language category, choose System language, English, Chinese (Simplified), Japanese, or Spanish.
  8. Click Apply or OK. Reopen windows or restart the application if an already-open window still shows the previous language.
Preferences
Preferences

Scenario 10: Verify and Use the Exported Files

Always verify exported results before importing them into production.

Operation Flow

  1. Open the exported DDL.
  2. Confirm schema name, table name, engine, charset, columns, and indexes.
  3. Open the exported SQL or CSV.
  4. Check the header, row count, NULL values, binary values, dates, and text encoding.
  5. Import into a temporary database first.
  6. Compare row counts and representative rows.
  7. Repeat export with a different row limit or with Include deleted if the first pass did not contain the rows you need.

Troubleshooting

SymptomWhat to Check
No table appears under an .ibd fileConfirm the file is MySQL 8 with SDI, or associate a matching .frm/DDL for MySQL 5.x.
Data tab shows columns but no rowsVerify page size, table structure, and whether the table file actually contains clustered index pages.
Text looks wrong in the GUICheck charset/collation in Columns and Info, then verify the CSV export with a UTF-8 capable editor.
Export is too largeSet a row limit in Preferences, then re-run the export.
Dropped table DDL is found but data is missingProvide the original datadir or a carved page root so DBRecover can locate table pages.
Disk scan finds few pagesConfirm page size and scan step; try a smaller step if the image is not page-aligned.

Screenshot Index

  • 01-main-window-welcome.png: main application window.
  • 02-open-ibd-sdi.png: opened MySQL 8 .ibd file with SDI.
  • 03-table-data.png: table data preview.
  • 04-table-ddl.png: generated table DDL.
  • 05-table-columns.png: column list.
  • 06-recovery-wizard-step1.png: Recovery Wizard mode selection.
  • 07-recovery-wizard-step2.png: Recovery Wizard version and page size.
  • 08-recovery-wizard-step3.png: Recovery Wizard source selection.
  • 09-preferences.png: Preferences dialog.
  • 10-disk-image-scan.png: Disk Image Scan dialog.
  • 11-drop-recovery.png: Drop Recovery dialog.
  • 12-mysql8-dictionary-mode.png: MySQL 8 Dictionary Mode dialog.
  • 13-mysql5-datadir-recovery.png: MySQL 5.x/MariaDB Datadir Recovery dialog.
  • 14-frm-parse-result.png: direct .frm parse result.
  • 15-mysql5-frm-ddl.png: MySQL 5.x DDL generated from .frm.
  • 16-table-info.png: file and table information tab.
  • 17-open-directory.png: direct directory opening result.
  • 18-table-context-menu.png: table context menu with preview and export actions.