Jeśli używasz utf8mb4 i masz unikalne indeksy w kolumnach varchar, które mają długość większą niż 191 znaków, musisz włączyć innodb_large_prefix, aby zezwolić na większe kolumny w indeksach, ponieważ utf8mb4 wymaga więcej miejsca do przechowywania niż utf8 lub latin1 . Dodaj następujące elementy do swojego pliku 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
Więcej informacji o przyczynach i przyszłości znajdziesz w dokumentacji MySQL 5.7 :
Podsumowując, limit istnieje tylko w celu zapewnienia kompatybilności i zostanie zwiększony w przyszłych wersjach.