Domanda

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

È stato utile?

Soluzione

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:

  1. The first two bytes are always FE,01
  2. The 4th byte is the storage type: e.g. 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.

Altri suggerimenti

SHOW ENGINES is the syntax

http://dev.mysql.com/doc/refman/5.0/en/show-engines.html for more info

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top