Доступ запрещен при попытке подключиться к базе данных mysql через eclipse, java - PullRequest
0 голосов
/ 11 февраля 2019

Я пытаюсь подключиться к базе данных mysql, но получаю одну и ту же ошибку: javax.servlet.ServletException: java.sql.SQLException: доступ запрещен для пользователя 'user' @ 'localhost' (с использованием пароля: YES)

Я уже пробовал следующие решения:

  1. Проверено мое имя пользователя и пароль.MySQL соединение устанавливается через username = user1, password = 123. Я использую то же самое в своем коде, когда я подключаюсь к базе данных: Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection( "jdbc:mysql://localhost:3306/employee","user1", "123");
  2. Предоставлены привилегии для user1 следующим образом: GRANT ALL PRIVILEGES ON * . * TO 'user1'@'localhost'; FLUSH PRIVILEGES; ByУ меня такая же проблема, когда я пытаюсь соединиться с root'ом @ localhost.У вас есть идеи, почему это все еще не работает?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Попробуйте это может помочь:

1) Перейти к MySQL терминал.2) mysql> use mysql;3) mysql> выберите пользователя, хост от пользователя;4) Там рядом с вами пользователь установил хост как «%» вместо localhost

.

, теперь в соединении вместо localhost tryp, указав IP-адрес сервера.

Надеюсь, это поможет вам.:)

0 голосов
/ 11 февраля 2019

MySQL JDBC может подключаться только через TCP / IP (в Unix, TCP / IP или именованный канал в Windows).

Драйвер MySQL JDBC не может установить соединение с использованием локального сокета Unix.

При использовании MySQL в Unix localhost имеет другое значение, которое мы можем ожидать.Это не синоним имени хоста для петлевого адреса TCP / IP 127.0.0.1.В Unix пользователь MySQL

'user1'@'localhost'

указывает пользователя, который может подключаться только через файл сокетов Unix;Невозможно подключиться к этому пользователю через TCP / IP.


Выше объясняется, почему MySQL отказывает в соединении от JDBC: попытка соединения не удалась, потому что соответствующего пользователя не существует.

Чтобы создать пользователя MySQL, который подключается с петлевого адреса TCP / IP, предполагая, что MySQL запущен с --skip-name-resolve и без --skip-networking, мы можем указать пользователя как:

'user'@'127.0.0.1'

Этот пользователь разрешитсоединение от JDBC.

(Если разрешено разрешение имен MySQL DNS, нам нужно будет использовать имя хоста, которое разрешается в адрес обратной петли; или мы можем рассмотреть возможность использования подстановочного знака «%» для части имени хостапользователь.) * * тысяча двадцать-один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...