option is enabled by default as of MySQL 5.6.6.
You can also set
dynamically, while the server is running:
SET GLOBAL innodb_file_per_table=1;
enabled, you can store
InnoDB tables in a
file. Unlike the
MyISAM storage engine, with
files for indexes and data,
InnoDB stores the
data and the indexes together in a single
.ibd file. The
file is still created as usual.
If you disable
innodb_file_per_table in your
startup options and restart the server, or disable it with the
SET GLOBAL command,
creates new tables inside the system tablespace.
You can always read and write any
tables, regardless of the file-per-table setting.
To move a table from the system tablespace to its own
tablespace, change the
and rebuild the table:
SET GLOBAL innodb_file_per_table=1; ALTER TABLE table_name ENGINE=InnoDB;
When a table is moved out of the system tablespace into its
.ibd file, the data files that make
up the system tablespace remain the same size. The space
formerly occupied by the table can be reused for new
InnoDB data, but is not reclaimed for use
by the operating system. When moving large
InnoDB tables out of the system tablespace,
where disk space is limited, you may prefer to enable
recreate the entire instance using the