Support

Site Restoration

#35832 ROW_FORMAT=DYNAMIC (Index column size too large. The maximum column size is 767 bytes.)

Posted in ‘Site restoration’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

PHP version
n/a
CMS Type
Other
CMS Version
n/a
Backup Tool Version
n/a
Kickstart version
n/a

Latest post by on Tuesday, 19 October 2021 20:17 CDT

HSorgYves

When restoring a site (table), the script fails with the error "Index column size too large. The maximum column size is 767 bytes.". The solution would be to add "ROW_FORMAT=DYNAMIC" to the SQL CREATE TABLE statement. I tried so in the sql/site.sql, but Kickstart seems to filter out that command again. Any way to achieve this?

Thanks,
Yves

nicholas
Akeeba Staff
Manager

The ROW_FORMAT is removed from InnoDB tables since it makes it impossible to restore tables backed up on a server using the Barracuda InnoDB engine to servers using the Antelope InnoDB engine.

If you use tables with large indices you need to set innodb_file_format to Barracuda, innodb_file_per_table to ON, innodb_large_prefix to ON and innodb_default_row_format to DYNAMIC in your server's my.cnf file. Please note these are the default settings in MySQL 5.7 and 8. I don't have any older versions but you can explode the default settings in the MySQL documentation page I linked.

These settings mean that MySQL will be using the DYNAMIC row format for all InnoDB tables created. Also note that the first three options are mandatory to enable the DYNAMIC row format in MySQL with index sizes over 767 bytes. If you have all these settings already set on your MySQL server it makes no sense to use the COMPACT row format; that was the default format in Antelope because of limitations in the InnoDB engine itself, not because it's better. In fact, the DYNAMIC row format is the recommended and default InnoDB row format the past several years. It has tangible performance improvements on most tables.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

System Task
system
This ticket has been automatically closed. All tickets which have been inactive for a long time are automatically closed. If you believe that this ticket was closed in error, please contact us.

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!