Run:
sudo mysql -u root -p
mysql> SELECT @@global.sql_mode;
(Then optionally copy the output to your notes somewhere in case you want to revert to those original settings later.)
And change the SQL Mode for your MySQL Server Instance:
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
(If you ever want to roll back, you could run something like 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"; using the value you saved.)
A more permanent way (which will survive restarts of MySQL) would be using the MySQL configs. Go to /etc/mysql/my.cnf (or you may need to run sudo vim /etc/mysql/mysql.conf.d/mysql.cnf):
-
Add a section for
[mysqld]and right below it add the statement
sql_mode = ""or something likesql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION". -
Restart the MySQL service:
sudo systemctl restart mysql
(or sudo service mysql restart)
See also https://dba.stackexchange.com/a/113153/18098