Vilken version? Vad CHARACTER SET ? Och andra frågor. Före version 5.5 fanns det CHARACTER SET utf8 , som behöver upp till 3 byte per tecken, men inte utf8mb4 , som behöver upp till 4. Med 5.7 (10.2?) var problemet "löst". Under tiden hade ett index begränsats till 767 byte; inte det är 3072.
Ditt index på en VARCHAR(500) behöver 1500 eller 2000 byte.
Här är min lista med 5 saker som kan göras:https://mysql.rjweb .org/doc.php/limits#767_limit_in_innodb_indexes
Du måste välja bland dem baserat på vilken brist du kan leva med.