В этом руководстве показано, как включить поддержку больших индексов в MariaDB, это относится к опции innodb_large_prefix, которая существует в MariaDB и MySQL. Я покажу вам, как включить опцию больших индексов постоянно, отредактировав конфигурационный файл MariaDB, а также покажу, как включить ее временно в текущей сессии базы данных с помощью команд SQL. Большой префикс InnoDB позволяет иметь префиксы индексных ключей размером до 3072 байт (для 16k страниц, в остальных случаях меньше).
Включение больших индексов InnoDB в MariaDB с помощью файла конфигурации
Отредактируйте файл конфигурации сервера MariaDB:
1 | nano /etc/mysql/mariadb.conf.d/50-server |
И поместите следующие строки сразу после строки [mysqld]:
1 2 3 4 | innodb-file-format=barracuda innodb-file-per-table=ON innodb-large-prefix=ON innodb_default_row_format = 'DYNAMIC' |
Закройте редактор. Затем перезапустите MariaDB:
1 | systemctl restart mariadb.service |
Включение больших индексов в MariaDB с помощью команд SQL
Эти команды являются альтернативным подходом к варианту редактирования конфигурации, поэтому не используйте оба метода. Откройте соединение с базой данных MariaDB для пользователя root на консоли:
1 | mysql -u root -p |
Затем выполните следующие команды:
1 2 3 4 | SET GLOBAL innodb_file_format=Barracuda; SET GLOBAL innodb_file_per_table=ON; SET GLOBAL innodb_large_prefix=1; quit |
Затем снова войдите в систему и выполните команду:
1 | SET GLOBAL innodb_default_row_format=DYNAMIC; |
Теперь опция префикса большого индекса включена в вашей системе MariaDB.