For parsing indexes and records from .ibd file
Newer version mysql(v8.0+) saves data dictionary and records in one file while the older version ones save them separately into .frm, .MYD and .MYI. Mysql provides ibd2sdi, which can be used to extract dictionary info, but not contains records. The fields of one row are saved in binary, retriving single field is not possible without table info. Since SDI is stored in .ibd, we can use information in it to separate fields from binary.
Replace the path in Makefile with your own. The target table should use InnoDB engine, and using file-per-table mode. The program now only support table with column type int, char and varchar, you can modify codes from line 523 to 537 to support more types.
make
./main <path to .ibd file>
- https://blog.jcole.us/innodb/
- mysql ibd2sdi