GNU/Linux >> Tutoriels Linux >  >> Linux

Incompatible avec sql_mode=only_full_group_by [Réparer]

Lors de la migration d'un site Web client d'un WHM/cPanel vers un autre WHM/cPanel, j'ai reçu une erreur SQL "Incompatible avec sql_mode=only_full_group_by “. Vous trouverez ci-dessous le message d'erreur complet.

SELECT list is not in GROUP BY clause and contains nonaggregated column 'dbname.p.picfile' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

Solution : MySQL 5.7.5+ a changé GROUP BY le comportement était conforme à SQL99 (les anciennes versions ne l'étaient pas) et c'était la raison de l'erreur.

La solution consiste à modifier vos configurations MySQL pour supprimer ONLY_FULL_GROUP_BY option de sql_mode . Cela changera GROUP BY retour à son comportement antérieur à MySQL 5.7.5.

Hébergement partagé

Si vous êtes sur un hébergement mutualisé, vous ne pourrez pas modifier le sql_mode au niveau de l'environnement.

Supprimer ONLY_FULL_GROUP_BY dans my.cnf fichier

Si vous avez accès au fichier de configuration MySQL my.cnf , ouvrez le fichier :

# vim /etc/mysql/my.cnf

et ajoutez la ligne ci-dessous à la fin du fichier :

[mysqld]  
 sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

Redémarrez le service MySQL :

# systemctrl restart mysql
Désactiver ONLY_FULL_GROUP BY

Cela désactivera ONLY_FULL_GROUP_BY pour TOUS les utilisateurs du système.

Supprimer ONLY_FULL_GROUP_BY dans WHM/cPanel

Si votre domaine est sur un cPanel (hébergement partagé), vous devez contacter votre fournisseur d'hébergement pour le mettre à jour.

Si vous avez accès à WHM, accédez à PHPMyAdmin sous SQL Services de WHM comme indiqué ci-dessous :

Cliquez sur Variables dans le menu et recherchez SQL_MODE

Cliquez sur le bouton Modifier et modifiez supprimer ONLY_FULL_GROUP_BY . Une fois modifié, cliquez sur   save .

C'est tout !


Linux
  1. Comment créer une base de données dans MySQL avec MySQL Workbench

  2. Exception d'échec de liaison de communication - WSO2 avec MySQL [Réparer]

  3. Configurer le gestionnaire d'API WSO2 avec la base de données MySQL

  4. Comment installer Mysql avec Phpmyadmin ?

  5. Travailler avec les bases de données MySQL cPanel

Comment utiliser MySQL avec l'application Ruby On Rails

Comment configurer MySQL avec Docker sous Linux

Comment ajouter un nouvel utilisateur MySQL avec des autorisations GRANT

DRBD avec MySQL Centos 8

Comment multi-maître MySQL avec Percona et Keepalived

8 étapes pour installer MirthConnect avec MySQL / MariaDB sur Linux