Почему мои имена пользователей MySQL не совпадают, когда я использую их в JDBC?JAVA

Программисты JAVA общаются здесь
Anonymous
Почему мои имена пользователей MySQL не совпадают, когда я использую их в JDBC?

Сообщение Anonymous »

Мне трудно понять, как на самом деле работают пользователи MySQL.

Когда я запускаю:

Код: Выделить всё

SELECT USER();
MySql показывает: root@localhost .

Но мое имя пользователя при входе в систему — ade. поэтому, когда я устанавливаю соединение с помощью DriverManager. getConnection(), я пробую оба имени пользователя, но выдает:

Код: Выделить всё

Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'ade'@'localhost' (using password: YES)
at jdbcpractices.Test.main(Test.java:18)
или

Код: Выделить всё

Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: Access denied for user 'root@localhost'@'localhost' (using password: YES)
at jdbcpractices.Test.main(Test.java:18)
Это работает только при использовании пользователя root. (моя реализация ниже.)

Код: Выделить всё

public class Test {
public static void main(String[] args) {
String user = "root"; //ade
String password = "quesadilla";
String URL = "jdbc:mysql://localhost:3306/ademysql";

try {
Connection conn = DriverManager.getConnection(URL, user, password);
System.out.println("Connected to database");
} catch (SQLException e) {
throw new RuntimeException(e);
}

}
}
Так в чем же разница между ними? Разве это не должно работать с ade или root@localhost? Я не понимаю, как это работает внизу. Пожалуйста, дайте мне несколько рекомендаций или помогите мне понять эту путаницу. Заранее спасибо!!!

Подробнее здесь: https://stackoverflow.com/questions/798 ... em-in-jdbc

Вернуться в «JAVA»