Mysql – Why was default of innodb_file_per_table changed

MySQL

Is there a disadvantage in using file per table storage? I wonder why the default of the value innodb_file_per_table was changed with MySQL 5.7.

Documentation shows that the default value changed (to "OFF"), so there must be a reason:
https://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html#sysvar_innodb_file_per_table

Reference: Is innodb_file_per_table advisable?

Best Answer

The default value has been ON, since 5.6.6.

You're looking at the 5.5 documentation, which only refers to the defaults in 5.5 -- not 5.7. In version 5.5.7, a decision was made to revert the defaults to match 5.1 in an effort to avoid a replication incompatibility.

the default values for innodb_file_per_table and innodb_file_format are reverted to the MySQL 5.1 default values—that is, OFF and Antelope, respectively. (Bug #56318, Bug #11763590)

https://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-7.html

In 5.6.6 (before 5.6 GA) the default value changed back to ON.

The motivation for these changes is to provide better out-of-box performance and to reduce the need for database administrators to change settings manually.

https://dev.mysql.com/doc/relnotes/mysql/5.6/en/news-5-6-6.html

In 5.7, the default is still ON.