Gestion des problèmes d'écriture de base de données
Cet article fournit des instructions détaillées pour résoudre divers problèmes de base de données MySQL, y compris les erreurs d'écriture et les erreurs d'échec de création de base de données.
Erreurs d'écriture de base de données
Si le serveur de destination utilise MySQL 5.7+ et que le journal Duplicator affiche des erreurs telles que : ERREUR erreur de base de données écriture ‘…’, vous pourriez rencontrer des problèmes lors de l'exécution de MySQL en mode strict. Si tel est le cas, essayez les options suivantes :
Messages d'erreur courants
- ERREUR DB : 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 DONNÉES : Cette fonction n'a ni DETERMINISTIC, ni NO SQL, ni READS SQL DATA dans sa déclaration et son journal binaire…
- L'espace de table pour la table xxx existe. Veuillez DISCARD l'espace de table avant d'IMPORTER
Solution 1
Pour les erreurs d'écriture générales, plusieurs options sont à considérer. Essayez-les dans l'ordre où elles sont présentées. La solution la plus rapide est l'OPTION A, cependant, pour que l'option soit permanente sur le serveur, considérez l'OPTION B.
OPTION A
- Activez le mode avancé de l'installateur.
- Sous Options » Base de données » Paramètres d'extraction, sélectionnez Personnalisé pour les paramètres du mode, et entrez NO_ENGINE_SUBSTITUTION dans la zone de texte.

- Continuez 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émarrez le serveur MySQL (les hébergeurs économiques peuvent avoir besoin de contacter leur fournisseur d'hébergement).
If OPTIONS A/B do not work, do the following:
- Connectez-vous à votre serveur via SSH 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
Solution 2
Résolvez les problèmes d'écriture pour les requêtes de création liées au message d'erreur suivant :
Message d'EXCEPTION : ERREUR DB : Impossible d'obtenir la requête CREATE pour la table wp_XYZ. Informations incorrectes dans le fichier : ‘./database_store/wp_XYZ.frm’
- Effectuez une réparation de base de données sur votre site WordPress actuel.
- Sur l'étape 2 de l'installateur » Onglet Tables » Décochez l'indicateur d'importation pour la table générant le problème.
- Alternativement, lors de la création d'une sauvegarde à l'étape 1, excluez la table en question de l'ajout.
Solution 3
Résolvez les problèmes d’écriture pour les fonctions liées au message d’erreur suivant :
ERREUR BASE DE DONNÉES : Cette fonction n’a ni DETERMINISTIC, ni NO SQL, ni READS SQL DATA dans sa déclaration et la journalisation binaire est activée (vous *pourriez* vouloir utiliser la variable lesssafe. log_bin_trust_function_creators)
Ou, ajoutez ce qui suit au fichier de configuration mysql.ini :
Exécutez ce qui suit dans la console MySQL :
SET GLOBAL log_bin_trust_function_creators = 1;
Ou, ajoutez ce qui suit au fichier de configuration mysql.ini :
log_bin_trust_function_creators = 1
Le paramètre assouplit la vérification des fonctions non déterministes. Les fonctions non déterministes sont des fonctions qui modifient des données (c’est-à-dire qu’elles contiennent des instructions update, insert ou delete).
Pour plus d’informations, voir ici. Pour des détails complets, voir cet article.
Si votre fournisseur d’hébergement ne permet pas les paramètres ci-dessus, contactez-le directement ou envisagez de travailler avec le développeur qui a écrit les fonctions et demandez-lui de les 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 montré ci-dessous, il est probable que vous deviez supprimer l’un des fichiers tablename.ibd, qui n’a pas été correctement supprimé lors de la suppression de la table de base de données.
Pour un aperçu complet de toutes les solutions possibles à ce problème, consultez cet article stack-overflow.
Échec de création de base de données
Un message tel que « Impossible de créer la base de données… » est reçu lors de la tentative d’utilisation de l’action de création de base de données.
Solution
« Impossible de créer la 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 via le code PHP. Dans ce cas, vous devrez créer une base de données via les outils qu’ils fournissent.
Sur la plupart des hébergeurs, vous pouvez le faire via le cPanel. Veuillez contacter votre hébergeur pour obtenir des instructions sur la création d’une nouvelle base de données. Les utilisateurs de Duplicator Pro devraient pouvoir utiliser l’onglet de connexion cPanel pour se connecter à leurs comptes cPanel et créer la base de données via l’interface d’installation de cPanel. Alternativement, vous pouvez utiliser les modes Importation ou Écrasement.
Voir également :
Hébergeurs recommandés pour Duplicator ?
http://dev.mysql.com/downloads/mysql
https://make.wordpress.org/core/2015/04/02/the-utf8mb4-upgrade