Я использую Debian Buster и, казалось бы, уже работающую MariaDB 10.4.13 после обновления с 10.3.22. Однако рекомендуемый сценарий mysql_upgrade завершается неудачно со следующей ошибкой:
[..]
Phase 4/7: Running 'mysql_fix_privilege_tables'
ERROR 1071 (42000) at line 442: Specified key was too long; max key length is 1000 bytes
FATAL ERROR: Upgrade failed
Теперь этот вопрос был задан дважды на serverfault, но, к сожалению, без подходящих ответов. После дополнительных исследований это, вероятно, связано с тем, что сумма моих первичных ключей в некоторых основных таблицах mysql (не знаю, какие из них, поскольку ошибка не указывает их) может быть слишком длинной.
Моя БД, похоже, пока работает, но я хотел бы отладить ситуацию и не знаю, как бы я ее "атаковал". Я нашел кого-то в другом списке рассылки, который отбросил все таблицы mysql и повторно импортировал их из другой установки MariaDB, но я боюсь, что это может сломать БД.
Задача решена. В основных таблицах mysql были отклонения от значений по умолчанию. Я установил новый экземпляр MariaDB локально и сравнил схемы через
USE mysql; SHOW TABLE STATUS;
и выровнял любые различия. После этого сценарий обновления работал нормально.