MySQL изменить innodb_large_prefix
Я просто установил Debian 8.3 на ВМ и установил xampp после этогоРуководство, Все работает, пока я не попытался создать новую таблицу:
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
Я получил ошибку:#1709 - Index column size too large. The maximum column size is 767 bytes.
Тогда я узнал, что это происходит отprefix limitation
который ограничен 767Byte вInnodb
и я могу это исправить, установив innodb_large_prefix в файле my.cnf. Но я не могу найти файл, его нет под/etc/
и нет/etc/mysql/
папка, единственнаяmy.cnf
Я нашел в/opt/lampp/etc/
Однако после того, как я добавилinnodb_large_prefix=1
в файл и перезапустил lampp. Я все еще получаю ту же ошибку. Что я сделал не так?
редактировать: SELECT version()
возвращается5.6.14
, такinnodb_large_prefix
должны быть поддержаны.
edit2Я знаю, что могу обойти это, установив только часть ключа в качестве индекса, чтобы получить значение ниже 767 байт. Но я хочу знать здесь, как правильно настроить MySQL.