Duplicateur Duplicateur

Documentation Duplicator

Documentation, matériel de référence et tutoriels pour Duplicator

Vous voulez que ce soit fait pour vous ?

Laissez les experts de Duplicator migrer votre site WordPress pour vous — rapidement, en toute sécurité et sans tracas.

Obtenir de l'aide pour la migration

Gestion des problèmes de compatibilité de base de données


Cet article fournit des instructions détaillées pour résoudre divers problèmes de compatibilité de base de données MySQL, y compris les problèmes de compatibilité et les erreurs de tri de table.

Problèmes de compatibilité

Afin d'éviter les problèmes d'incompatibilité de base de données, assurez-vous que les versions de base de données entre le serveur de build et le serveur d'installation sont aussi proches que possible. Si la sauvegarde a été créée sur une version de base de données plus récente que celle sur laquelle elle est installée, vous pourriez rencontrer des problèmes.

Il est préférable de s'assurer que le serveur sur lequel l'installateur s'exécute a le même numéro de version ou un numéro de version supérieur à celui où il a été construit. Si les versions majeure et mineure sont identiques ou proches (par exemple, [5.7 à 5.6]), la migration devrait fonctionner sans problème. Une paire de versions [5.7 à 5.1] est plus susceptible de causer des problèmes, sauf si vous avez une configuration très simple. Si les versions sont trop éloignées, travaillez avec votre fournisseur d'hébergement pour mettre à niveau le moteur MySQL sur ce serveur.

Solution 1 : FORMAT UTF8MB4

Si la version actuelle du serveur MySQL détectée est inférieure à 5.5.3 (sortie le 8 avril 2010), la prise en charge des tables utf8mb4 ne fonctionnera pas. Le format utf8mb4 n'est pris en charge que dans MySQL server 5.5.3+. Il est fortement recommandé de mettre à niveau votre version de MySQL server sur ce serveur pour être plus compatible avec les versions récentes de WordPress et éviter les problèmes d'erreurs d'installation.

Solution 2 : ENTRÉES UTF8

Si des caractères non-ASCII sont détectés dans la chaîne de connexion de la base de données et que le serveur MySQL n'est pas correctement configuré, vous ne pourrez pas vous connecter. Ce problème peut être résolu en mettant à jour la configuration my.ini de MySQL.
Ajoutez le paramètre character_set_server=utf8 sous [mysqld] et redémarrez le serveur de base de données. Cette valeur peut simplement nécessiter d'être décommentée.

Solution 3 : CONFIGURATIONS MARIA-DB

Si une version 10.N.N s'affiche, la distribution de la base de données est une variante MariaDB de MySQL. Bien que les distributions soient très proches, il existe quelques différences subtiles. Certains systèmes d'exploitation afficheront la version telle que « 5.5.5-10.1.21-MariaDB », montrant la corrélation des deux. Veuillez consulter la page en ligne MariaDB versus MySQL – Compatibilité pour plus de détails.

Veuillez noter que certains messages sont simplement des avis. Il est fortement recommandé de poursuivre le processus d'installation et de surveiller attentivement le fichier installer-log.txt ainsi que le rapport d'installation trouvé à l'étape 3 de l'installateur. Assurez-vous de rechercher tous les avis/avertissements/erreurs à ces endroits pour valider que le processus d'installation n'a détecté aucune erreur. Si des problèmes sont trouvés, veuillez visiter les pages FAQ et consulter la question « Comment résoudre les erreurs de base de données ou les avertissements généraux sur le rapport d'installation ? »

Solution 4 : CRÉER DES TABLES

La création de tables entre MySQL et MariaDB est très similaire ; cependant, il existe quelques petites différences qui peuvent parfois (rarement) causer des problèmes. Pour visualiser les différences entre chaque, consultez les deux ensembles de documentation ici :

Comme vous pouvez le constater, ils ne correspondent pas parfaitement (MariaDB a des options que MySQL n'a pas), donc lorsque vous essayez d'exécuter une requête CREATE qui a fonctionné sur MariaDB mais qui contient une option de table que MySQL ne prend pas en charge, cela peut échouer. La solution actuelle consiste à supprimer les options de table incriminées du dump de la base de données en effectuant une recherche et un remplacement manuels sur le fichier.

Problèmes de tri de table

Comment résoudre les erreurs de mode de compatibilité et de « collation inconnue » ?

Il y a 4 façons de résoudre ce problème. L'option 1 est la manière la plus rapide, la plus simple et la plus sûre de résoudre ce problème.

Aperçu des collations inconnues

Une erreur de « collation inconnue » signifie que le serveur MySQL sur lequel l'installation est effectuée (serveur cible) est plus ancien que le moteur MySQL sur lequel vous avez créé la sauvegarde. Un message d'erreur tel que :

ERREUR erreur de base de données écriture « Collation inconnue : « utf8mb4_unicode_ci »
sera déclenchée car la version de MySQL utilisée ne prend pas en charge ce format de table. Vous pouvez visualiser la comparaison des versions du serveur MySQL en cliquant sur le bouton « Tester la connexion » dans l'installateur ou en consultant le fichier installer-log.txt. La sortie ressemblera à ceci :

VERSION MYSQL : Ce serveur : 5.4.22 — Serveur de build : 5.7.10

Option 1 – Mettre à jour le logiciel de base de données

La manière la plus propre et la plus sûre de corriger le problème de « Collation inconnue » est de mettre à jour votre serveur MySQL cible vers une version identique ou plus récente que celle sur laquelle la sauvegarde a été créée. Les erreurs de format les plus courantes incluent :

  • utf8mb4_unicode_ci : MySQL version 5.5.3+ requise.
  • utf8mb4_unicode_520_ci : MySQL version 5.6+ requise.

Meilleure solution : La meilleure et la plus simple façon de résoudre ce problème est de demander à votre hébergeur de déplacer votre compte vers un serveur MySQL qui prend en charge le type de collation dont vous avez besoin (voir l'exemple ci-dessus). Donnez-leur simplement le message d'erreur que vous recevez et ils pourront vous aider à migrer vers le bon serveur.

La plupart des hébergeurs ne mettront pas à niveau le serveur actuel sur lequel se trouve votre site ; cependant, ils devraient être en mesure de déplacer facilement votre compte vers un serveur plus récent. C'est une pratique très courante et un bon hébergeur devrait pouvoir vous aider assez facilement.

Si vous utilisez une version antérieure à la 5.5.3, vous utilisez une version très obsolète du serveur MySQL. La version 5.5.3 est sortie en 2010, ce qui signifie que la version du serveur MySQL que vous utilisez est encore plus ancienne. Nous encourageons vivement les utilisateurs à travailler avec leurs hébergeurs pour utiliser des logiciels à jour afin d'améliorer la sécurité et les performances, et de rester en conformité avec les mises à jour du cœur de WordPress. Ne laissez pas un hébergeur médiocre utiliser des logiciels obsolètes sur votre site.

Option 2 – Jeu de caractères et collation par défaut

Sur l'installateur, à l'étape 2 sous options, la case « Hérité » n'existe plus. Cependant, elle est maintenant détectée et définie automatiquement. Si le jeu de caractères et la collation ne sont pas explicitement définis, un avis apparaîtra indiquant que le jeu de caractères et la collation par défaut seront utilisés.

Lors de la création d'une table de base de données, la version de MySQL utilisée peut ne pas prendre en charge le type de collation de la version de MySQL où la table a été créée. Dans ce scénario, l'installateur utilisera automatiquement un type de collation de repli pour tenter de créer la table.

Option 3 – Exécuter le mode de compatibilité

Le mode de compatibilité Mysqldump aide à produire une sortie de script SQL de base de données plus compatible avec d'autres systèmes de bases de données ou avec d'anciens serveurs MySQL.
Duplicator prend en charge plusieurs modes de compatibilité, qui ne sont tous disponibles que lorsque le mode mysqldump est activé dans le plugin. Le mode de compatibilité peut être activé lors de la création d'une sauvegarde à l'aide de l'option mysqldump.

Duplicator n'autorise le mode de compatibilité que pendant le processus de création. Il n'est pas autorisé lors de la création de modèles ou avec des planifications. La raison de cette configuration est de décourager l'utilisation de ces paramètres et de résoudre le vrai problème, qui est de mettre à jour votre serveur de base de données.

Mises à niveau de la base de données : Le mode de compatibilité ne doit être utilisé qu'en dernier recours. L'approche recommandée pour résoudre les problèmes de base de données est de s'assurer que les deux serveurs de base de données sont à jour et très proches en termes de numéros de version (voir Option 1). Par exemple, si le serveur de base de données où vous avez créé la sauvegarde est 5.7.5, alors le serveur de base de données où vous installez la sauvegarde doit être au moins dans la plage 5.7.N. Demandez à votre hébergeur ou administrateur système de mettre à niveau le serveur MySQL vers une version plus récente si possible. Si votre hébergeur ne met pas à niveau vers une version récente, demandez-lui de mettre à niveau vers la version la plus élevée possible.

Préservation des données : Bien qu'il existe plusieurs solutions de contournement sur Internet (Option 4) expliquant comment modifier le fichier SQL actuel ou utiliser le mode de compatibilité mysqldump, le problème sous-jacent principal est que vous avez stocké des données dans un format et que vous allez maintenant les convertir. Ces techniques peuvent entraîner une perte de données et des problèmes de compatibilité plus tard. L'approche correcte est de mettre à niveau le logiciel MySQL.

Envisagez d'essayer les deux modes :

  • Duplicator prend actuellement en charge deux modes différents : Mysqldump et Mode PHP (voir l'option Paramètres » Sauvegardes).
  • Si vous rencontrez des problèmes de caractères et que vous manquez d'options, vous pouvez envisager d'essayer de créer la base de données dans les deux modes pour voir si l'un ou l'autre résout les problèmes.

Option 4 – Configurations manuelles

Ces options sont destinées aux utilisateurs avancés et doivent être effectuées avec prudence. Les options nécessitent la mise à jour du script database.sql ou la mise à jour des types de collation des tables de la base de données source. Vous trouverez ci-dessous trois approches différentes ; une seule option est requise pour résoudre le problème.

Mettre à jour database.sql

Pour les problèmes de « collation inconnue », vous pouvez essayer les étapes suivantes :

  1. Extraire manuellement le fichier zip de l'archive.
  2. Ouvrez le fichier database.sql avec le Bloc-notes et recherchez & remplacez les collations. Par exemple, vous pourriez :
    • remplacer : « utf8mb4 » par « utf8 »
    • remplacer : « utf8_unicode_520_ci » par « utf8_general_ci »

Essayez toujours ces options d'abord dans un bac à sable et jamais sur un site de production jusqu'à ce que vous soyez à l'aise avec les résultats.
Ensuite, accédez au fichier installer.php sur le serveur et choisissez Avancé & cochez « Extraction manuelle ».
Cela peut également être tenté avec d'autres collations (c'est-à-dire remplacer « collation_type_1 » par « collation_type_2 »).

Mettre à jour la base de données source avec le code

Cette option nécessite que vous compreniez vraiment votre système et que vous ayez effectué des sauvegardes à l'avance. Le script vous permettra de modifier la collation sur le serveur de build afin qu'elle puisse être prise en charge par le serveur cible. Le script complet peut être consulté sur Stack Overflow à l'adresse : http://stackoverflow.com/a/29939906/2808424

Mettre à jour la base de données source avec l'IDE

Si vous ne vous sentez pas à l'aise pour exécuter le code ci-dessus, vous pouvez également utiliser un IDE ou un outil graphique qui vous permettra de modifier manuellement les collations des tables, soit avec des instructions SQL, soit via une interface. Encore une fois, ces options nécessitent que vous compreniez vraiment votre système et que vous ayez effectué des sauvegardes à l'avance.

Vous trouverez ci-dessous des instructions étape par étape faciles à suivre pour mettre à jour les collations via un IDE tel que phpMyAdmin :


Cet article vous a-t-il été utile ?


Ne laissez pas une autre journée passer sans protection

Chaque heure sans sauvegardes WordPress appropriées met votre site en danger • Chaque migration WordPress retardée vous coûte en performance et en croissance

Obtenir Duplicator maintenant
Plugin Duplicator

Attendez ! Ne manquez pas votre
offre exclusive !

En tant que client , bénéficiez de 60 % de réduction

Essayez Duplicator gratuitement sur votre site — découvrez pourquoi plus de 1,5 million de professionnels WordPress nous font confiance. Mais n'attendez pas — cette réduction exclusive de 60 % n'est disponible que pour un temps limité.

ou
Obtenez 60% de réduction sur Duplicator Pro maintenant →