(Résolu) Collation inconnue UTF8MB4_UNICODE_520_CI
- 1469
- 416
- Romain Martinez
Un collation est un ensemble de règles qui définit comment comparer et trier les chaînes de caractères dans un serveur de base de données. Dans ce didacticiel, nous discutons d'une erreur face lors de la restauration de la base de données sur un autre serveur.
Voyons le problème et la solution au problème réalisé récemment:
Le problème:
Lors de la migration d'une application WordPress, j'ai fait face à l'erreur suivante avec la restauration de la base de données MySQL. L'ID de collation peut différer en fonction de la version MySQL.
Message d'erreur:
Erreur 1273 (HY000) à la ligne 36 Collation inconnue: 'UTF8MB4_UNICODE_520_CI'
Ici, vous allez avec une solution.
La solution:
Après avoir recherché l'erreur, j'ai constaté que le serveur MySQL fonctionnant sur l'autre serveur est une version plus ancienne que la source. Nous découvrons donc que le serveur de destination ne prend pas en charge la collation 'utf8mb4_unicode_520_ci'.
Pour résoudre ce problème, j'ai fait un petit changement dans le fichier de sauvegarde. Modifiez le fichier de sauvegarde de la base de données dans l'éditeur de texte et remplacez toutes les occurrences de «UTF8MB4_UNICODE_520_CI" avec "UTF8MB4_GENERAL_CI". Aussi, si vous avez trouvé "Charset = UTF8MB4", Remplacez ceci par"Charset = UTF8".
Remplacez la chaîne ci-dessous:
Moteur = innodb par défaut charset = utf8mb4 collate = utf8mb4_unicode_520_ci;
avec:
Moteur = innodb par défaut Charset = UTF8 Collate = UTF8_General_ci;
Enregistrez le fichier de sauvegarde et restaurez la base de données.
Les utilisateurs du système Linux peuvent utiliser la commande SED pour remplacer le texte dans les fichiers directement.
SED -I 'S / UTF8MB4_UNICODE_520_CI / UTF8_GENERAL_CI / G'.SQL
SED -I'S / CHARSET = UTF8MB4 / CHARSET = UTF8 / G '.SQL
C'est tout, maintenant la base de données est restaurée avec succès sans aucune erreur!
Espérons que cette solution vous a aidé à résoudre "Collation inconnue: 'utf8mb4_unicode_520_ci'«Problème avec les bases de données MySQL.
- « Comment détecter et gérer les erreurs dans vos scripts bash
- Convertir la corde en minuscules en bash - plus facile que vous ne le pensez »