mysql change innodb_large_prefix
Ich habe gerade Debian 8.3 auf einer VM installiert und danach xampp installiertLernprogram. Alles funktioniert, bis ich versucht habe, eine neue Tabelle zu erstellen:
create table testtable
(
id int(10) not null auto_increment,
firstname varchar(255) collate utf8mb4_german2_ci not null,
lastname varchar(255) collate utf8mb4_german2_ci not null,
primary key (id),
unique key (lastname)
)engine = innodb default charset=utf8mb4, collate=utf8mb4_german2_ci
Ich habe den Fehler erhalten:#1709 - Index column size too large. The maximum column size is 767 bytes.
Dann fand ich heraus, dass dies von der @ komprefix limitation
was auf 767Byte in @ begrenzt iInnodb
und ich kann das beheben, indem ich den innodb_large_prefix in der my.cnf-Datei setze. Aber ich kann die Datei nicht finden, es ist nicht unter/etc/
und es gibt kein/etc/mysql/
-Ordner, der einzigemy.cnf
Fand ich ist in/opt/lampp/etc/
jedoch, nachdem ich das @ hinzugefügt hainnodb_large_prefix=1
an die Datei und neu gestartet lampp. Ich bekomme immer noch den gleichen Fehler. Was habe ich falsch gemacht
bearbeite: SELECT version()
kehrt zurück5.6.14
, soinnodb_large_prefix
sollte unterstützt werden.
edit2: Ich weiß, dass ich das umgehen kann, indem ich nur einen Teil des Schlüssels als Index setze, um unter 767Byte zu kommen. Aber ich möchte hier wissen, wie man den mysql richtig konfiguriert.