(Решено) Неизвестное сопоставление: utf8mb4_0900_ai_ci

12 mar 2023 1 min di lettura
(Решено) Неизвестное сопоставление: utf8mb4_0900_ai_ci
Indice dei contenuti

Введение

Сравнение — это набор правил, определяющих, как сравнивать и классифицировать строки на сервере базы данных. В этом руководстве мы обсуждаем ошибку, возникшую при восстановлении базы данных на другом сервере.

Давайте посмотрим на проблему и решение проблемы, с которой столкнулся недавно:

Проблемы

При переносе веб-приложения я получил следующую ошибку при восстановлении базы данных на другом сервере. Идентификация сопоставления может варьироваться в зависимости от версии MySQL.

Сообщение об ошибке:

Error 1273 (HY000) at line 25 Unknown collation: 'utf8mb4_0900_ai_ci'

Отвечать

Проведя небольшое исследование, я обнаружил, что сервер MySQL, работающий на целевом сервере, имеет более старую версию, чем исходный. Итак, мы получили, что на целевом сервере нет необходимой сортировки базы данных.

Итак, давайте внесем небольшое изменение в файл резервной копии, чтобы решить эту проблему. Отредактируйте файл резервной копии базы данных в текстовом редакторе и замените « utf8mb4_0900_ai_ci » на « utf8mb4_general_ci » и « CHARSET=utf8mb4 » на « CHARSET=utf8 ».

Замените строку ниже:

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

с:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Сохраните файл и восстановите базу данных.

Пользователи системы Linux могут использовать команду sed для непосредственной замены текста в файлах.

sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' backup.sql  
sed -i 's/CHARSET=utf8mb4/CHARSET=utf8/g' backup.sql  

База данных успешно восстановлена.

Заключение

Я надеюсь, что это решение помогло вам решить проблему « Неизвестная коллекция: 'utf8mb4_0900_ai_ci' ».

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.