Wordpress 4.2 представил поддержку кодировки символов «utf8mb4» из соображений безопасности , но только MySQL 5.5.3 и выше поддерживают ее. Способ, которым установщик (и средство обновления) управляют этим, состоит в том, что он проверяет вашу версию MySQL, и ваша база данных будет обновлена до utfmb4, только если она поддерживается .
В теории это звучит замечательно, но проблема (как вы обнаружили) заключается в том, что вы переносите базы данных с сервера MySQL, который поддерживает utf8mb4, на сервер, который этого не делает. Хотя обратный путь должен работать, это в основном односторонняя операция.
Как указал Евстер, вы можете добиться успеха, используя функцию экспорта в PHPMYAdmin. Используйте « Метод экспорта: Пользовательский » и для « Системы баз данных или более старого сервера MySQL, чтобы максимизировать совместимость вывода с: », выберите « MYSQL 40 ».
Для экспорта из командной строки используется mysqldump. Посмотрите на флаг:
$ mysqldump --compatible=mysql4
Примечание. Если в базе данных есть 4-байтовые символы, они будут повреждены.
Наконец, для любого, кто использует популярный плагин WP Migrate DB PRO, пользователь в этой теме Wordpress.org сообщает, что миграция всегда выполняется правильно, но я не смог найти ничего официального.
Плагин WP Migrate DB переводит базу данных из одного сопоставления в другое, когда он перемещает 4.2 сайта между хостами с MySQL до или после 5.5.3.
В настоящее время нет возможности отказаться от обновления базы данных. Поэтому, если вы используете рабочий процесс, при котором вы переносите сайт с сервера или локального хоста с MySQL> 5.5.3 на тот, который использует более старую версию MySQL, вам может не повезти.