У меня есть сайт WordPress на моем локальном сервере WAMP. Но когда я загружаю свою базу данных в живой сервер, я получаю ошибку
#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci
Любая помощь будет оценена!
Вы можете решить это, найдя
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci;
в файле .sql
и
ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
Я считаю, что эта ошибка вызвана тем, что на локальном сервере и в реальном времени работают разные версии MySQL. Чтобы решить эту проблему:
utf8mb4_unicode_520_ci
с помощью utf8mb4_unicode_ci
Надеюсь, что это поможет
utf8mb4_unicode_520_ci
имеет гораздо лучшую поддержку UTF-8, чем utf8mb4_unicode_ci
! Соус: mysql.rjweb.org/doc.php/charcoll#best_practice с визуальным уточнением, доказывающим, что 520_ci превосходит его: mysql.rjweb.org/utf8_collations.html
В моем случае получается мой
на новом сервере выполнялся MySQL 5.5
,
старый сервер выполнял MySQL 5.6
.
Поэтому я получил эту ошибку при попытке импортировать файл .sql
который я экспортировал с моего старого сервера.
MySQL 5.5 не поддерживает utf8mb4_unicode_520_ci
, но
MySQL 5.6.
Обновление MySQL 5.6
на новом сервере позволило решить проблему с ошибкой!
Если вы хотите сохранить MySQL 5.5, вы можете:
- сделать копию экспортированного файла .sql
- заменить экземпляры utf8mb4unicode520_ci
и utf8mb4_unicode_520_ci
... с utf8mb4_unicode_ci
- импортируйте обновленный файл .sql
.
Откройте файл sql в текстовом редакторе;
1. Поиск: utf8mb4_unicode_ci Заменить: utf8_general_ci (Заменить все)
2. Поиск: utf8mb4_unicode_520_ci Заменить: utf8_general_ci (Заменить все)
3. Поиск: utf8mb4 Заменить: utf8 (Заменить все)
Сохранить и загрузить!
просто удалите "520_" utf8mb4_unicode_520_ci
→ utf8mb4_unicode_ci
найти и заменить:
utf8mb4_unicode_520_ci
с
utf8_general_ci
в целом файле sql
general
и utf8
- оба шага назад.
легко заменить
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
sed -i '' 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' your_sql_file.sql
Поздно на вечеринку, но в случае, если это происходит с установкой WORDPRESS
:
#1273 - Unknown collation: 'utf8mb4_unicode_520_ci
В phpmyadmin, в разделе export method
> Format-specific options
(пользовательский экспорт)
Установите в: MYSQL40
Если вы попытаетесь импортировать сейчас, вы можете получить еще одно сообщение об ошибке:
1064 - You have an error in your SQL syntax;.....
Это потому, что более старая опция TYPE
которая была синонимом ENGINE
была удалена в MySQL 5.5.
Откройте файл .sql
, найдите и замените все экземпляры
из TYPE=
в ENGINE=
Теперь импорт должен идти гладко.
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql