I want to read .frm and .ibd files in mysql to understand how mysql database engine store data in files. Which format those file does have, since when I open those files it show non-human readable characters.

  • What have you done already? You could always read the source code - or, if these are the only files you have, Google "restore mysql database from ibdata and .frm files". – Vérace Jul 14 '16 at 3:49
  • these files are read by MySQL and aren't available in human readable form – Nawaz Sohail Jul 14 '16 at 8:39
  • At some level, you just need to know the B+Tree structure that is used -- it is the same for table (data + PRIMARY KEY) and each secondary index. – Rick James Jul 15 '16 at 17:56
  • Possible duplicate of MySQL: how to restore table stored in a .frm and a .ibd file? – T.Todua Jan 6 '17 at 17:45

Jeremy Cole in a series of posts explains InnoDB internals and on disk format in particular. I'd start from https://blog.jcole.us/2013/01/02/on-learning-innodb-a-journey-to-the-core/ . Get his tool innodb_ruby, it's very helpful in the learning.

Not the answer you're looking for? Browse other questions tagged or ask your own question.