Не может соединиться с mysql из приложений кроме терминала

Я не могу соединиться со своим локальным SQL-сервером от DataGrip. Но это хорошо работает непосредственно от терминала.

Кто-либо, который видит то, что я делаю неправильно?
Я не установил пароля, и я попробовал и без пароля и с моим паролем пользователя Ubuntu.

Я получаю эту ошибку При попытке соединиться от DataGrip:

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

Это хорошо работает от терминала как это:

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)
1
задан 31 January 2017 в 18:27

1 ответ

Пользователи Mysql являются предоставленным доступом на основе того, куда соединение прибывает из. По умолчанию корневой доступ ограничивается:

  • 127.0.0.1
  • localhost

Программа, которую Вы используете для подключения, не является самим indentifying как 127.0.0.1 или localhost. Необходимо будет проверить доступ IP, он определяется как, затем добавьте это к таблице предоставления.

Вы можете также, альтернативно (очень небезопасный, и должен только использоваться для тестирования, и проверить программу будет работать, зная надлежащий IP), предоставляют доступ к любому IP путем добавления % к таблице предоставления для корня. Это может, по крайней мере, быть временным доступом, в то время как Вы работаете для идентификации IP-адреса, используемого для доступа.

Это изменения команды для предоставления 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'@'%';

Важный!
Подстановочный знак % не должен использоваться, специально для root. Это упоминается для получения информации и тестирования только. Это заставило бы Ваш компьютер стать уязвимым для любого компьютерного хакера отовсюду в мире.

Для безопасности Вы могли бы полагать, что установка другого имени от корня предоставила этот доступ к и оставила фактического пользователя root более ограниченным туда, где связи могут быть установлены.

Вам также, вероятно, придется прокомментировать bind-address = 127.0.0.1 конфигурация в Вашем my.cnf файле.

От GUI Phpmyadmin

Кроме того, от Phpmyadmin выполняют эти шаги:

Phpmyadmin -> (click) Users -> Add user -> (For the user root Click on)
Edit Privileges ->  (Scroll to) Host -> (Type in the desired IP address) ->
(click) Go.

Обновление:

Проблема OP была разрешена (через чат) путем установки пароля на Mysql. Это было первоначально установлено с пустым паролем. Именно поэтому единственный способ получить доступ к mysql состоял в том, чтобы использовать sudo. После надлежащего добавления пароля к mysql доступ, работавший значением по умолчанию с помощью значения по умолчанию localhost/127.0.0.1 для доступа и приложения Datagrip.

2
ответ дан 7 December 2019 в 13:38

Другие вопросы по тегам:

Похожие вопросы: