DEV Community

Jean Dias
Jean Dias

Posted on

MySQL — Removendo Full Only Group By no MacOS X

Image description

Bom dia pessoal, um problema que ocorre muito nas versões mais recentes do MySQL, no meu caso a versão 8, e também na versão 5.7, é a funcionalidade de FULL ONLY GROUP BY. Funcionalidade essa que impede de usar a instrução GROUP BY em uma query sem que aplique todos os campos utilizados dentro do SELECT.

Mas para pular essa trava, no OSX (minha versão Mojave) basta seguir os passos a seguir:

Vá até o Terminal e digite:

find / -name my.cnf

Este comando irá encontrar os local onde o arquivo my.cnf está. Então crie um link simbólico para ele, dentro da pasta /etc, da seguinte forma:

sudo ln -s /usr/local/etc/my.cnf /etc/my.cnf

Agora acesse seu MySQL e execute o comando a seguir:

SELECT @@GLOBAl.sql_mode;

Ele irá retornar o seguinte resultado:

ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Copie a valor retornado e acesse o arquivo my.cnf para editar:

sudo vim /etc/my.cnf

Dentro do arquivo após a linha [mysqld] adicione a instrução sql_mode, com os valores retornados na consulta acima, e remova a parte ONLY_FULL_GROUP_BY, ficando igual abaixo:

sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION

Após salvar o arquivo(:wq), reinicie o MySQL e pronto você poderá utilizar a instrução GROUP BY sem mais complicações.

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.