Дамп базы данных Moodle не работает при восстановлении - PullRequest
0 голосов
/ 10 декабря 2018

Я пытался восстановить дамп MariaDB из базы данных Moodle, когда получаю эту ошибку:

ERROR 1071 (42000) at line 10540: Specified key was too long; max key length is 767 bytes

После небольшого исследования я связался с сопоставлением схемы, то есть utf8mb4_unicode_ci.

Эту ошибку можно устранить, если я изменю размер с 255 на 170. Однако иногда не имеет значения, имеет ли он размер 255, потому что он их создает.

Теперь,

1- Почему файл дампа дает мне эту конфигурацию, если ее восстановление не работает?

2- Как это работает, если размер varchar не разрешен?

3- ЕстьЕсть ли более простой способ сделать эту работу, кроме изменения с 255 до 170?

1 Ответ

0 голосов
/ 11 декабря 2018

Как говорит @Rick James в редактировании, решение было следующим:

   SET GLOBAL innodb_file_format=Barracuda;
   SET GLOBAL innodb_file_per_table=1;
   SET GLOBAL innodb_large_prefix=1;
   logout & login (to get the global values);
   ALTER TABLE tbl ROW_FORMAT=DYNAMIC;  -- (or COMPRESSED)

В этом случае были предприняты шаги для перенастройки механизма базы данных нового сервера.

...