How I can find out the MySQL database engine in the file system (data structure, no MySQL commands possible)?
It would be nice if you can help me.
Best regards, Jonniboy
MySQL ".frm" (table) files have a file signature and a defined header format.
This format is briefly explained in 8 bits: MySQL File formats and headers:
FE,01
0C
for InnoDB, 09
for MyISAM, 14
for MyIASM w/ partitions. (See Bill Karwin's comment; these are extracted from the legacy_db_type
enum.)That should be all the information required to perform a cursory check - either with file
(which may or may not need additional rules) or by manual inspection with something like xxd
, e.g.
sh$ xxd -l 4 table.frm
Keep in mind that a single database may contain MyISAM and InnoDB tables.