What is the ibtmp1 file in MySQL 5.7?

If you’re running MySQL 5.7, you might have noticed the ibtmp1 file located in the datadir, and you might be wondering exactly what this file is.

In 5.7, InnoDB added a separate tablespace for all non-compressed InnoDB temporary tables. This new tablespace is named ibtmp1 and is located in the datadir by default.

“The new tablespace is always recreated on server startup. … A newly added configuration file option, innodb_temp_data_file_path, allows for a user-defined temporary data file path. For related information, see InnoDB Temporary Table Undo Logs.”

You can read that, and the full changelog entry, here:


And the full variable description is here:


Hope this helps.


Tags: , , , , , ,

4 Responses to “What is the ibtmp1 file in MySQL 5.7?”

  1. Simon Mudd says:

    The file is good but the name could be better. The fact you write a post to describe this new file shows the name is too generic to be understood.I would still prefer something more descriptive.

  2. It seems to get worse for every MySQL release! New file(s) introduced now again :-( .

    Instead of introducing new files, could we please get rid of the .frm files and get all tablespace details into a single file (+ a tool to browse it).

    MySQL’s dependency of *files* is a complete annoyance. Files are irrellevant to (cross-platform) databases IMO.

  3. chris says:

    Hi Simon :) Yes, great point, and now would be the perfect time to make the change. I could envision more along the lines of the ib_tmpdata0 (like ib_logfile0 files).

  4. chris says:

    Hi Peter :) Nice point, and suggestion. I’d be interested in hearing from some Devs why not take this approach.

Period Panties by Period Panteez Menstrual Underwear Menstruation PMS Panty