(Rozwiązane) Nieznane połączenie UTF8MB4_0900_AI_CI

(Rozwiązane) Nieznane połączenie UTF8MB4_0900_AI_CI

Zestaw jest zestawem reguł, które określają sposób porównywania i sortowania ciągów znaków na serwerze bazy danych. W tym samouczku omawiamy błąd napotkany podczas odbudowy bazy danych na innym serwerze.

Zobaczmy problem i rozwiązanie problemu, przed którymi stoi problem:

Problem

Podczas migracji aplikacji internetowej otrzymałem poniższy błąd, przywracając bazę danych na innym serwerze. Identyfikator łączenia może się różnić w zależności od wersji MySQL.

Komunikat o błędzie:

Błąd 1273 (HY000) w linii 25 Nieznane połączenie: „UTF8MB4_0900_AI_CI” 

Zobacz zrzut ekranu błędu podczas odbudowy bazy danych.

Oto rozwiązanie.

Rozwiązanie

Po małym badaniu odkryłem, że serwer MySQL działający w miejscu docelowym jest starszą wersją niż źródło. Więc mamy, że serwer docelowy nie zawiera wymaganej bazy danych.

Następnie wykonujemy małą poprawkę w pliku kopii zapasowej, aby to rozwiązać. Edytuj plik kopii zapasowej bazy danych w edytorze tekstu i wymień „UTF8MB4_0900_AI_CI" z "utf8mb4_general_ci" I "Charset = UTF8MB4" z "Charset = UTF8".

Wymień poniższy ciąg:

Silnik = Domyślny charakter innodb = UTF8MB4 celate = UTF8MB4_0900_AI_CI; 

z:

Silnik = domyślny Charset = UTF8 COLLATE = utf8_general_ci; 

Zapisz swój plik i przywróć bazę danych.

Użytkownicy systemu Linux mogą użyć polecenia SED do bezpośrednio zastąpienia tekstu w plikach.

SED -i 'S/UTF8MB4_0900_AI_CI/UTF8_GENERAL_ci/G' Backup.SQL  sed -i 's/charset = UTF8MB4/charset = UTF8/G' Backup.SQL  

Że to. Po powyższych zmianach baza danych została pomyślnie przywrócona!

Mam nadzieję, że to rozwiązanie pomogło Ci rozwiązać ”Nieznane połączenie: „UTF8MB4_0900_AI_CI”" wydanie.