Obtenez le meilleur plugin WordPress Backup
& Migration dès aujourd'hui
Obtenir Duplicator maintenant

Documentation sur le duplicateur

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

Gestion des problèmes d'écriture dans la base de données

Cet article fournit des instructions détaillées sur la résolution de divers problèmes liés aux bases de données MySQL, notamment les erreurs d'écriture et les échecs de création de bases de données.

Erreurs d'écriture dans la base de données

Si le serveur de destination est sous MySQL 5.7+ et que le journal du Duplicator montre des erreurs telles que : ERROR database error write '...', il se peut que vous rencontriez des problèmes lors de l'exécution de MySQL en mode strict. Si c'est le cas, essayez les options suivantes :

Messages d'erreur courants

  • DB ERROR : Impossible d'obtenir la requête CREATE pour la table wp_XYZ. Informations incorrectes dans le fichier : './database_store/wp_XYZ.frm'
  • ERREUR DE BASE DE DONNEES : Cette fonction n'a aucune des valeurs DETERMINISTIC, NO SQL, ou READS SQL DATA dans sa déclaration et son enregistrement binaire...
  • L'espace disque pour la table xxx existe. Veuillez SUPPRIMER l'espace de stockage avant de procéder à l'IMPORTATION.

Solution 1

Pour les erreurs d'écriture générales, il y a quelques options à considérer. Essayez-les dans l'ordre où elles sont présentées. La solution la plus rapide est l'OPTION A. Toutefois, pour que l'option soit permanente sur le serveur, envisagez l'OPTION B.

OPTION A

  • Activer le mode avancé du programme d'installation.
  • Sous Options " Base de données " Paramètres d'extraction, sélectionnez Personnalisé pour les paramètres de mode et entrez NO_ENGINE_SUBSTITUTION dans la zone de texte.
  • Poursuivez et terminez le processus d'installation.

OPTION B

  • Ouvrez ce fichier dans le bloc-notes : C:\wamp64\bin\mysql\mysql5.7.9\my.ini
  • Ajoutez la dernière ligne au fichier :
    [mysqld]
    port = 3306
    sql_mode=NO_ENGINE_SUBSTITUTION
  • Redémarrer le serveur MySQL (les hébergeurs de budget peuvent avoir besoin de contacter leur fournisseur d'hébergement).
Si les OPTIONS A/B ne fonctionnent pas, procédez comme suit :
  • Connectez-vous à votre serveur en tant que root et créez le fichier /etc/mysql/conf.d/disable_strict_mode.cnf.
  • Ouvrez le fichier et entrez ces deux lignes :
    [mysqld]
    sql_mode=IGNORE_SPACE, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, NO_ENGINE_SUBSTITUTION
  • Redémarrez MySQL en exécutant : $ sudo service mysql restart

La procédure ci-dessus provient de serverpilot.io.

Solution 2

Résoudre les problèmes d'écriture pour les requêtes de création liés au message d'erreur suivant :
EXCEPTION message : DB ERROR : Impossible d'obtenir la requête CREATE pour la table wp_XYZ. Informations incorrectes dans le fichier : './database_store/wp_XYZ.frm'

  • Exécutez une réparation de la base de données sur votre site WordPress actuel.
  • Dans le programme d'installation, étape 2, onglet Tables, décochez le drapeau d'importation pour la table à l'origine du problème.
  • Une autre solution consiste, lors de la création d'une sauvegarde à l'étape 1, à exclure la table en question de l'ajout.

Solution 3

Résoudre les problèmes d'écriture des fonctions liés au message d'erreur suivant :
DATABASE ERROR : This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the lesssafe. log_bin_trust_function_creators variable)

Ou bien, ajoutez ce qui suit au fichier de configuration mysql.ini :

Exécutez la commande suivante dans la console MySQL :

SET GLOBAL log_bin_trust_function_creators = 1;

Ou bien, ajoutez ce qui suit au fichier de configuration mysql.ini :

log_bin_trust_function_creators = 1

Ce paramètre assouplit la vérification des fonctions non déterministes. Les fonctions non déterministes sont des fonctions qui modifient les données (c'est-à-dire qui contiennent des instructions de mise à jour, d'insertion ou de suppression).
Pour plus d'informations, voir ici. Pour plus de détails, voir cet article.

Si votre hébergeur n'autorise pas les paramètres ci-dessus, contactez-le directement ou envisagez de travailler avec le développeur qui a écrit les fonctions et de les faire réévaluer pour qu'elles fonctionnent correctement avec les exigences du moteur de base de données.

Solution 4

Lors d'une installation, si vous recevez un message tel que celui présenté ci-dessous, il est probable que vous deviez supprimer l'un des fichiers tablename.ibd, qui n'a pas été correctement supprimé lors du processus de suppression de la table de base de données.

L'espace disque pour la table xxx existe. Veuillez SUPPRIMER l'espace de stockage avant de procéder à l'IMPORTATION.


Pour une présentation complète de toutes les solutions possibles à ce problème, voir cet article de stack-overflow.

Échec de la création de la base de données

Un message tel que "Unable to create database..." est reçu lors de l'utilisation de l'action de création de base de données.

Solution

"Impossible de créer une base de données..." signifie généralement que votre hébergeur ne prend pas en charge la création de bases de données par le biais du code PHP. Dans ce cas, vous devrez créer une base de données à l'aide des outils qu'ils fournissent.

Sur la plupart des hébergeurs, vous pouvez le faire via le cpanel. Veuillez contacter votre hébergeur pour savoir comment créer une nouvelle base de données. Les utilisateurs de Duplicator Pro devraient pouvoir utiliser l'onglet de connexion cPanel pour se connecter à leur compte cPanel et créer la base de données via l'interface d'installation cPanel. Vous pouvez également utiliser les modes d'importation ou d'écrasement.

Voir aussi :
Fournisseurs d'hébergement recommandés pour Duplicator ?
http://dev.mysql.com/downloads/mysql
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade

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

Articles connexes