2017-02-22 15 views
38

Mam witrynę WordPress na moim lokalnym serwerze WAMP. Ale kiedy przesyłam jej bazę danych do serwera live, pojawia się błąd:# 1273 - Nieznane sortowanie: 'utf8mb4_unicode_520_ci'

#1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’ 

Każda pomoc będzie doceniona!

+3

'sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' file.sql' –

+1

Dzięki @NabilKadimi –

Odpowiedz

39

Problem ten można rozwiązać poprzez znalezienie

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci; 

w pliku .sql i zamiana go

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; 
+6

polecam odpowiedź przez Sabba (https://stackoverflow.com/a/44122258/168309), jak zachowuje utf8mb4 – Amir

+2

Rozwiązanie poniżej @Sabba Keynejad jest lepsze moim zdaniem, ponieważ zachowuje mb4, powinieneś najpierw spróbować tego. –

87

Wierzę, że ten błąd jest spowodowany ponieważ serwer lokalny i serwer na żywo są uruchomione różne wersje MySQL. Aby rozwiązać ten problem:

  1. Otwórz plik sql w edytorze tekstowym
  2. Znajdź i zastąp wszystkie utf8mb4_unicode_520_ci z utf8mb4_unicode_ci
  3. Zapisz i wyślij do świeżej mysql db

Nadziei to pomaga

+1

Działa dla mnie! Proste - jeśli masz wystarczająco małą bazę danych. Dzięki! –

+0

** HELL NO !!! ** Zostało szeroko udokumentowane, że 'utf8mb4_unicode_520_ci' ma * dużo * lepszą obsługę UTF-8 niż' utf8mb4_unicode_ci'! Sos: http://mysql.rjweb.org/doc.php/charcoll#best_practice z wizualnym wyjaśnieniem okazującym 520_ci jest lepszy tutaj: http://mysql.rjweb.org/utf8_collations.html – John

+0

ta odpowiedź właśnie mi pomogła. Wielkie dzięki – brotherperes

11

W moim przypadku okazuje się, że mój
nowy serwer działał pod numerem MySQL 5.5,
stary serwer działał pod numerem MySQL 5.6.
Ten błąd wystąpił podczas próby importowania pliku .sql wyeksportowanego z mojego starego serwera.

MySQL 5.5 nie obsługuje utf8mb4_unicode_520_ci, ale
MySQL 5.6 ma.

Aktualizacja do MySQL 5.6 na nowym serwerze rozwiązała zestawianie błędu!

Jeśli chcesz zachować MySQL 5.5, można:
- zrobić kopię eksportowanego .sql pliku
- zastąpić wystąpień utf8mb4unicode520_ci i utf8mb4_unicode_520_ci
... z utf8mb4_unicode_ci
- zaimportować zaktualizowane .sql plik.

+1

Prawdziwa odpowiedź tutaj. – Kaji

2

prostu usunąć "520_"
utf8mb4_unicode_520_ciutf8mb4_unicode_ci

0

Otwórz plik SQL w edytorze tekstu;

1. Szukaj: utf8mb4_unicode_ci Wymienić: utf8_general_ci (Zamień wszystko)

2.Szukaj: utf8mb4_unicode_520_ci Wymienić: utf8_general_ci (Zamień wszystko)

3. Szukaj: utf8mb4 Wymienić: utf8 (Zamień wszystko)

Zapisz i wyślij!

Powiązane problemy