After updating to MySQL 8.0.32 under Windows 10 I would like to permanently switch off ONLY_FULL_GROUP_BY in "sql_mode". SET GLOBAL sql_mode='...' is not permanent and the default setting, which includes ONLY_FULL_GROUP_BY, is reestablished after every service shutdown/restart.
So I looked for the config file. Executing >mysqladmin I read
Default options are read from the following files in the given order:
C:\WINDOWS\my.ini C:\WINDOWS\my.cnf C:\my.ini C:\my.cnf C:\Program Files\MySQL\MySQL Server 8.0\my.ini C:\Program Files\MySQL\MySQL Server 8.0\my.cnf,
but none of these files exists in my system. So I created the file
C:\Program Files\MySQL\MySQL Server 8.0\my.cnf with the following contents:
[mysqld] sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"
but after restarting the service a SELECT @@GLOBAL.sql_mode; included ONLY_FULL_GROUP_BY as usual.
I renamed my.cnf to my.ini and used other directories for the file, then I replaced in the file [mysqld] by [client] or sql_mode by sql-mode as suggested here
but to no avail.