(Risolto) Unknown collation: utf8mb4_0900_ai_ci

12 mar 2023 1 min di lettura
(Risolto) Unknown collation: utf8mb4_0900_ai_ci
Indice dei contenuti

Introduzione

Un confronto è un insieme di regole che definisce come confrontare e ordinare le stringhe di caratteri in un server di database. In questo tutorial, stiamo discutendo di un errore riscontrato durante il ripristino del database su un altro server.

Vediamo il problema e la soluzione al problema affrontato di recente:

Problema

Durante la migrazione di un'applicazione Web, ho ricevuto l'errore seguente durante il ripristino di un database su un altro server. L'id delle regole di confronto può variare in base alla versione di MySQL.

Messaggio di errore:

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

Soluzione

Dopo una piccola indagine, ho scoperto che il server MySQL in esecuzione sulla destinazione è una versione precedente rispetto all'origine. Quindi abbiamo ottenuto che il server di destinazione non contenga le regole di confronto del database richieste.

Quindi apportiamo una piccola modifica al file di backup per risolvere questo problema. Modificare il file di backup del database nell'editor di testo e sostituire "utf8mb4_0900_ai_ci" con "utf8mb4_general_ci" e "CHARSET=utf8mb4" con "CHARSET=utf8".

Sostituisci la stringa sottostante:

ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci

con:

ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;

Salva il tuo file e ripristina il database.

Gli utenti del sistema Linux possono utilizzare il comando sed per sostituire direttamente il testo nei file.

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

Il database è stato ripristinato con successo.

Conclusione

Spero che questa soluzione ti abbia aiutato a risolvere il problema "Unknown collation: 'utf8mb4_0900_ai_ci'".

Support us with a

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.