configuration parameter defines the file format to use for new
InnoDB tables. This parameter is only
applicable for tables that have their own
tablespace, and therefore requires that
innodb_file_per_table be enabled.
currently supports Antelope
and Barracuda file formats.
To create new file-per-table tables that take advantage of
features supported by the Barracuda file format, such as table
compression or the new
DYNAMIC row format, set
Barracuda, which is the default setting as of
To preclude the use of new features supported by the Barracuda
file format that would make your database inaccessible to the
built-in InnoDB in MySQL 5.1 and prior releases, omit
innodb_file_format or set it to
InnoDB file format settings do not apply to tables stored in general tablespaces. General tablespaces provide support for all row formats and associated features. For more information, see Section 14.5.9, “InnoDB General Tablespaces”.
You can set the value of
innodb_file_format on the command
line when you start
mysqld, or in the option
my.cnf (Unix operating systems) or
my.ini (Windows). You can also change it
dynamically with the
SET GLOBAL statement.
mysql> SET GLOBAL innodb_file_format=BARRACUDA; Query OK, 0 rows affected (0.00 sec)
Oracle recommends using the Barracuda format for new tables where practical. For maximum compatibility with replication configurations that use a MySQL 5.1 release or earlier, Antelope remained the default file format up to MySQl 5.7.6. In MySQL 5.7.7, the default file format changed to Barracuda.