Os usuários do Mysql recebem acesso com base em onde a conexão está vindo. Por padrão, o acesso root está restrito a:
- 127.0.0.1
- localhost
O programa que você está usando para se conectar não está se identificando como 127.0.0.1 ou localhost . Você terá que verificar se o acesso IP está sendo identificado e adicioná-lo à sua tabela de permissões.
Você também pode, alternativamente ( altamente inseguro e só deve ser usado para testar e validar o programa funcionará sabendo o IP correto ) conceder acesso a qualquer ip adicionando % para a tabela de concessão para raiz. Isso pode ser, pelo menos, um acesso temporário enquanto você trabalha para identificar o endereço IP que está sendo usado para acesso.
Estas são variações de comando para conceder um endereço IP:
mysql> GRANT ALL ON *.* TO 'root'@'computer.host.com';
mysql> GRANT ALL ON *.* TO 'root'@'192.168.1.101';
mysql> GRANT ALL ON *.* TO 'root'@'%';
Importante!
O curinga % não deve ser usado, especialmente para root
. É mencionado para informações e testes apenas. Isso tornaria seu computador vulnerável a qualquer hacker de qualquer lugar do mundo.
Por questões de segurança, considere a possibilidade de configurar um nome diferente do root para dar acesso e deixar o usuário real root mais limitado a onde as conexões podem ser feitas.
Você também pode ter que comentar a configuração bind-address = 127.0.0.1
no seu arquivo my.cnf .
Na GUI Phpmyadmin
Como alternativa, do Phpmyadmin, execute estas etapas:
Phpmyadmin -> (click) Users -> Add user -> (For the user root Click on) Edit Privileges -> (Scroll to) Host -> (Type in the desired IP address) -> (click) Go.
Atualização:
O problema do OP foi resolvido (via chat) definindo uma senha para o Mysql. Ele foi originalmente instalado com uma senha em branco. É por isso que a única maneira de acessar o mysql era usar sudo
. Depois de adicionar corretamente uma senha ao mysql, o acesso funcionou por padrão usando o padrão localhost / 127.0.0.1 para o acesso e o aplicativo Datagrip.