Ошибки

MySQL 1273: Unknown collation utf8mb4_0900_ai_ci — как загрузить дамп

Ошибка 1273 появляется, когда дамп из MySQL 8 загружают в MariaDB. В файле указано правило сортировки, которого MariaDB не знает. Замените его в файле и загрузите дамп снова.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 8

Как выглядит ошибка

ivan@myserver:~$ mysql -u ivan -p base < base.sql
Enter password:
ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_0900_ai_ci'

at line 25 — номер строки в файле дампа, на которой загрузка остановилась. В кавычках — имя правила сортировки, которое база не узнала.

Почему так

Collation — правило, по которому база сравнивает и сортирует текст: различать ли большие и маленькие буквы, как упорядочить буквы с ударениями. В MySQL 8.0 по умолчанию стоит правило utf8mb4_0900_ai_ci, и mysqldump переносит его в дамп вместе с описанием таблиц.

В MariaDB 10.11, которая ставится из пакетов Ubuntu 24.04, такого правила нет. Оно появилось в MariaDB 11.4.5. Поэтому дамп из MySQL 8 не загружается в MariaDB до этой версии — нужно заменить правило в файле на то, которое MariaDB знает: utf8mb4_unicode_ci.

Шаг 1. Сделайте копию файла

Если что-то пойдёт не так, вернётесь к ней. Команды выполняйте в той папке, где лежит файл дампа. Посмотреть файлы в текущей папке можно командой ls.

cp base.sql base-kopiya.sql

Шаг 2. Замените правило в файле

На сервере с Ubuntu или в Linux:

sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' base.sql

На Mac в программе Терминал после -i нужны две одинарные кавычки:

sed -i '' 's/utf8mb4_0900_ai_ci/utf8mb4_unicode_ci/g' base.sql

Команда ничего не выводит — это нормально. Проверьте, что старых имён не осталось:

grep -c utf8mb4_0900_ai_ci base.sql

Ответ 0 значит, что всё заменено. На Windows команды sed нет: проще загрузить файл на сервер и заменить там или открыть файл в редакторе, который умеет заменять текст во всём файле.

Шаг 3. Загрузите дамп снова

mysql -u ivan -p base < base.sql

Вместо ivan подставьте своего пользователя базы, вместо base — имя базы, вместо base.sql — имя своего файла. Команда спросит пароль пользователя базы. Загружать файл заново можно в ту же базу: mysqldump по умолчанию пишет перед каждой таблицей команду удалить её, поэтому таблицы, которые успели загрузиться до ошибки, создадутся заново.

Если теперь загрузка остановилась на ошибке 1227 со словом SUPER, в дампе указан пользователь старого сервера — разбор. Если на ошибке 1153 — разбор.

Если загружаете через панель хостинга

Замените правило в файле на своём компьютере, как в шаге 2, и загрузите исправленный файл в панели снова.

Тексты ошибок и настройки сверены с исходным кодом MySQL 8.0.46 и MariaDB 10.11.14 — эти версии ставятся из пакетов Ubuntu 24.04. В других версиях строки могут немного отличаться.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026