Richiede più di queste due impostazioni...
SET GLOBAL innodb_file_format=Barracuda;
SET GLOBAL innodb_file_per_table=ON;
SET GLOBAL innodb_large_prefix=1;
logout & login (to get the global values);
ALTER TABLE tbl ROW_FORMAT=DYNAMIC; -- or COMPRESSED
Forse tutto ciò di cui hai bisogno è aggiungere ROW_FORMAT=...
al tuo CREATE TABLE
.
Queste istruzioni sono necessarie per 5.6.3 fino a 5.7.7. A partire da 5.7.7, il sistema per impostazione predefinita gestisce correttamente campi più grandi.
In alternativa, puoi utilizzare un indice "prefisso":
INDEX(column(191))
(Ma l'indicizzazione dei prefissi è difettosa in molti modi.)
"Se in seguito il server crea un formato tabella superiore, innodb_file_format_max viene impostato su quel valore" implica che tale impostazione non costituisce un problema.