Exécuter :
sudo mysql -u root -p
mysql> SELECT @@global.sql_mode;
(Ensuite, copiez éventuellement la sortie dans vos notes quelque part au cas où vous voudriez revenir à ces paramètres d'origine plus tard.)
Et modifier le mode SQL pour votre instance de serveur MySQL :
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
(Si jamais vous voulez revenir en arrière, vous pouvez exécuter quelque chose comme mysql> SET GLOBAL sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
en utilisant la valeur que vous avez enregistrée.)
Un moyen plus permanent (qui survivra aux redémarrages de MySQL) consisterait à utiliser les configurations MySQL. Allez dans /etc/mysql/my.cnf
(ou vous devrez peut-être exécuter sudo vim /etc/mysql/mysql.conf.d/mysql.cnf
):
-
Ajouter une section pour
[mysqld]
et juste en dessous, ajoutez la déclarationsql_mode = ""
ou quelque chose commesql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
. -
Redémarrez le service MySQL :
sudo systemctl restart mysql
(ou sudo service mysql restart
)
Voir aussi https://dba.stackexchange.com/a/113153/18098