Mysql 5.6 innodb_large_prefix не работает - PullRequest
0 голосов
/ 18 апреля 2019

ОС: CentOS 7. Mysql 5.6

Возникла проблема при запуске базы данных с этой ошибкой: Указанный ключ был слишком длинным; максимальная длина ключа составляет 768 байт. База данных была от MariaDB 10.2.14

Чтение ТАК дает мне решение добавить эти строки в /etc/my.cnf:

innodb_file_format = Barracuda
innodb_file_per_table = ON
innodb_large_prefix = 1

и перезапустите службу.

Проверка, видна ли новая настройка:

mysql> SHOW VARIABLES LIKE '%innodb_file_format';
 +--------------------+-----------+
 | Variable_name      | Value     |
 +--------------------+-----------+
 | innodb_file_format | Barracuda |
 +--------------------+-----------+

mysql> SHOW VARIABLES LIKE '%innodb_file_per_table';
+-----------------------+-------+
| Variable_name         | Value |
+-----------------------+-------+
| innodb_file_per_table | ON    |
+-----------------------+-------+

mysql> SHOW VARIABLES LIKE '%innodb_large_prefix';
+---------------------+-------+
| Variable_name       | Value |
+---------------------+-------+
| innodb_large_prefix | ON    |
+---------------------+-------+

После перезагрузки все в порядке.

mysql> SELECT * FROM information_schema.INNODB_SYS_TABLESPACES;

показывает формат файла - Barracuda и RAW_FORMAT Dynamic.

База данных DEFAULT CHARSET = utf8.

Но ограничение «максимальная длина ключа составляет 767 байт» все еще здесь.

Нужна помощь, пожалуйста, что я пропустил, чтобы большой префикс работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...