Рекомендую: Фриланс-биржа | Кэшбэк-сервис | Интернет-бухгалтерия

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

При переносе базы данных 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. Сверху панели выбираем вкладку «Структура».

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

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

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

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

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

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

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

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

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

If you liked my post, feel free to subscribe to my rss feeds