I am looking at mysql installation (Version 5.7.19). The mysqld is running and has innodb_file_per_table set to on. Looking at the tables using a mysql client shows up that tables all have engine "InnoDB" set. There are files ibdata1 and ibdata2 in innodb_data_file_path and also the .ibd files. I wondering now since it was my newbee understanding that innodb_files_per_table obsoltes the ibdata* files? Am I wrong or is the presence of the .ibd files and ibdata* files at the same time an indication for a mis-configured database?

  • If you were hoping to shrink the disk space allocated to ibdata*, that is a different question. (And it has been Asked and Answered many times.)
    – Rick James
    Commented Apr 27, 2018 at 23:47

1 Answer 1


ibdata1 stores InnoDB dictionary, undo segment(s), and doublewrite buffer. So, ibdata1 is needed regardless innodb_file_per_table setting.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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