Si está utilizando utf8mb4 y tiene índices únicos en columnas varchar que tienen más de 191 caracteres de longitud, deberá activar innodb_large_prefix para permitir columnas más grandes en los índices, porque utf8mb4 requiere más espacio de almacenamiento que utf8 o latin1 . Agregue lo siguiente a su archivo 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
Más información sobre el porqué y el futuro en la documentación de MySQL 5.7 :
En resumen, el límite solo existe por compatibilidad y se incrementará en futuras versiones.