При переносе базы данных WordPress с одного хостинга на другой возникла ошибка:
В целом сообщение об ошибке было таким:
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 может возникнуть из-за неверного формата таблицы любого другого плагина. Например, в одном из случаев, у меня такая ошибка возникала сразу во многих других таблицах (не только относящихся к плагинам), например:
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 или какая иная таблица, то действовать нужно по аналогии с этой инструкцией, но уже для другой таблицы.
If you liked my post, feel free to subscribe to my rss feeds