Algunas consultas de MySQL crean tablas temporales internas para mantener resultados parciales.
A partir de MySQL 5.7.6, el motor de almacenamiento predeterminado para tablas temporales internas es InnoDB, que tiene un límite bastante pequeño en el tamaño de fila, como puede ver (aunque las columnas BLOB/TEXT pueden ir más allá de ese límite).
Puede volver al antiguo motor de almacenamiento predeterminado anterior a la versión 5.7 para las tablas temporales internas:
internal_tmp_disk_storage_engine=MyISAM
Esta es la solución mencionada en este error:"Error #77398 tamaño de fila demasiado grande en mysql 5.7 consulta "