JDB C отказывается использовать указанный пароль - PullRequest
0 голосов
/ 15 февраля 2020

Я получаю исключение SQLInvalidAuthorizationSpecException с «Доступ запрещен для пользователя« someuser »@« localhost »( с использованием пароля: НЕТ

mysql = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/somedb/",
    "someuser",
    "somepassword"
);

Как видите, пароль действительно указан, но водитель считает, что не должен его использовать. Что я делаю неправильно? Я на 100% уверен, что учетные данные верны.

Я также попытался указать все в строке подключения следующим образом:

mysql = DriverManager.getConnection("jdbc:mysql://localhost:3306/somedb?user=someuser&password=somepassword");

безрезультатно.

MySQL Версия сообщества 8.0.17

mysql -connector- java версия 8.0.19

Ответы [ 2 ]

3 голосов
/ 15 февраля 2020

Запустите это в вашей MySQL рабочей среде (или командной строке): ALTER USER 'someuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'somepassword'

0 голосов
/ 15 февраля 2020

Использовать эту строку подключения

mysql = DriverManager.getConnection("jdbc:mysql://localhost:3306/somedb","someuser","somepassword");
...