Não é possível conectar-se ao mysql de outros aplicativos que não o terminal

1

Não consigo me conectar ao meu servidor sql local do DataGrip. Mas funciona bem diretamente do terminal.

Alguém que pode ver o que estou fazendo errado?
Não defini nenhuma senha e tentei as duas sem senha e com a senha do usuário do Ubuntu.

Eu recebo este erro Ao tentar se conectar a partir do DataGrip:

The specified user/password combination is rejected: [28000][1698] Access denied for user 'root'@'localhost

Funciona bem no terminal assim:

jeggy@jeggy-Lenovo-Z50-70:~$ sudo mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 5.7.16-0ubuntu0.16.04.1 (Ubuntu)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0,00 sec)
    
por Jeggy 05.01.2017 / 22:00

1 resposta

2

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.

    
por L. D. James 05.01.2017 / 22:34