ERROR 1273 (HY000)
Problème de collation entre versions MySQL/MariaDB
Lors d’un import de base de données, il peut arriver que la version du serveur de destination soit plus ancienne que celle du serveur source.
Dans ce cas, certaines collations récentes — comme utf8mb4_0900_ai_ci — ne sont pas supportées par les anciennes versions de MySQL/MariaDB.
Résultat :
L’import échoue avec une erreur de type Unknown collation.
Solution : modifier la collation dans le fichier de sauvegarde
Pour rendre le dump compatible, il suffit de remplacer :
utf8mb4_0900_ai_ci→utf8mb4_general_ciCHARSET=utf8mb4→CHARSET=utf8
Ces collations et jeux de caractères sont compatibles avec les versions plus anciennes.
Commandes sed pour corriger automatiquement le dump
sed -i 's/utf8mb4_0900_ai_ci/utf8_general_ci/g' backup.sql
sed -i 's/CHARSET=utf8mb4/CHARSET=utf8/g' backup.sql
Explications :
- sed -i : modifie le fichier directement
- s/ancien/nouveau/g : remplace toutes les occurrences
- backup.sql : fichier de sauvegarde à corriger
Après cette modification, le fichier peut être importé sans erreur sur un serveur plus ancien.