MySQL ошибка: #1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’

Admin MySQL, MySQL Errors, VPS, WordPress

Решение ошибки, которая возникала при импорте базы данных MySQL в панели управления phpMyAdmin.

При переносе базы данных WordPress с одного хостинга на другой возникла ошибка:

#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'

В целом сообщение об ошибке было таким:

Ошибка
SQL запрос:
-- Структура таблицы `wp_subscribe_reloaded_subscribers`

CREATE TABLE `wp_subscribe_reloaded_subscribers` (
  `stcr_id` int(11) NOT NULL,
  `subscriber_email` varchar(100) COLLATE utf8mb4_unicode_520_ci NOT NULL,
  `salt` int(15) NOT NULL,
  `subscriber_unique_id` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `add_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

Ответ MySQL:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci'

Причина оказалась в том, что таблица в базе данных MySQL плагина Subscribe To Comments Reloaded находилась в кодировке utf8mb4_unicode_520_ci. А для верной работы необходима кодировка utf8mb4_unicode_ci.

Ошибка Unknown utf8mb4_unicode_520 может возникнуть из-за неверного формата таблицы любого другого плагина. Например, в одном из случаев, у меня такая ошибка возникала сразу во многих других таблицах (не только относящихся к плагинам), например:

-- Структура таблицы `wp_commentmeta`

CREATE TABLE `wp_commentmeta` (
  `meta_id` bigint(20) UNSIGNED NOT NULL,
  `comment_id` bigint(20) UNSIGNED NOT NULL DEFAULT '0',
  `meta_key` varchar(255) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
  `meta_value` longtext COLLATE utf8mb4_unicode_520_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci

Любая ошибка такого рода (не важно что за таблица или плагин) исправляется одинаково. Причем операции со вкладкой «Структура» можно и пропускать и делать только «Операции» (об этом ниже). Но чтобы всё точно работало, лучше сделать и то и другое.

Если ИМЕЕТСЯ доступ к базе данных старого хостинга

Заходим в эту базу через phpMyAdmin.

В колонке слева выбираем таблицу wp_subscribe_reloaded_subscribers. Сверху панели выбираем вкладку «Структура».

Нажимаем изменить и меняем сравнение utf8mb4_unicode_520_ci на utf8mb4_unicode_ci.

Затем выбираем вкладку «Операции», снова выбираем кодировку utf8mb4_unicode_ci, отмечаем галочку Change all column collations. Нажимаем вперед, подтверждаем, что хотим выполнить эту операцию.

После этого можно экспортировать свою базу данных и импортировать на новый хостинг. На этот раз всё должно пройти гладко.

Если доступа к базе данных старого хостинга НЕТ

В этом случае надо открыть базу данных через специализированные программы, например, Notepad++ или Transmit в Mac OS. Там найти строчки utf8mb4_unicode_520_ci и заменить их на utf8mb4_unicode_ci. Сохранить и дальше импортировать к себе на хостинг.

Если ошибку вызывает другой плагин, не обязательно wp_subscribe_reloaded_subscribers или какая иная таблица, то действовать нужно по аналогии с этой инструкцией, но уже для другой таблицы.

Метки:

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Комментарии к статье “MySQL ошибка: #1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’” (18)

Добавить комментарий

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"MySQL ошибка: #1273 — Unknown collation: ‘utf8mb4_unicode_520_ci’"