Pokud používáte utf8mb4 a máte jedinečné indexy ve sloupcích varchar, které jsou delší než 191 znaků, budete muset zapnout innodb_large_prefix, abyste umožnili větší sloupce v indexech, protože utf8mb4 vyžaduje více úložného prostoru než utf8 nebo latin1 . Přidejte následující do souboru my.cnf.
[mysqld]
innodb_file_format=barracuda
innodb_file_per_table=1
innodb_large_prefix=1
init_connect='SET collation_connection = utf8mb4_unicode_ci; SET NAMES utf8mb4'
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Další informace o důvodech a budoucnosti z dokumentace MySQL 5.7 :
Abych to shrnul, limit je zde pouze kvůli kompatibilitě a bude v budoucích verzích zvýšen.