Niektóre zapytania MySQL tworzą wewnętrzne tabele tymczasowe do przechowywania wyników częściowych.
Od MySQL 5.7.6 domyślnym mechanizmem przechowywania wewnętrznych tabel tymczasowych jest InnoDB, który ma dość mały limit rozmiaru wiersza, jak widać (chociaż kolumny BLOB/TEXT mogą przekraczać ten limit).
Możesz wrócić do starego domyślnego silnika pamięci masowej sprzed wersji 5.7 dla wewnętrznych tabel tymczasowych:
internal_tmp_disk_storage_engine=MyISAM
To jest obejście wspomniane w tym błędzie:"Bug #77398 zbyt duży rozmiar wiersza w mysql 5.7 zapytanie "