Я создаю сканер подключения к базе данных для моего курса по безопасности в университете. Я использовал DriverManager.getConnection (connectionURL, имя пользователя, пароль), и, похоже, он работает нормально, но с одним исключением, которое я просто не могу понять. Если я введу неправильное имя пользователя, оно все равно возвращает соединение ??? мой тестовый код вставлен ниже. Любые указатели будут высоко оценены. Он возвращает правильную ошибку, если я ввожу неверный пароль, если я выключу сервер, это говорит мне. Но по какой-то неизвестной причине он не скажет мне, ошибочно ли имя пользователя, как будто оно даже не проверяет!Коннектор MYSQL говорит, что он подключен даже с неправильным именем пользователя?
public class DBConnector {
Connection connection = null;
String dbURL = "jdbc:mysql://localhost:3306";
String userName;
String password;
public DBConnector() {
// TODO Auto-generated constructor stub
}
public Connection tryConnection(String username, String password){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(dbURL, username, password);
System.out.println("Connected");
} catch (InstantiationException e) {
System.out.println("No Connection");
e.printStackTrace();
} catch (IllegalAccessException e) {
System.out.println("Connection Refused");
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
System.out.println("Sql Ex");
// TODO Auto-generated catch block
e.printStackTrace();
}
return connection;
}
}
И вот мой основной класс для запуска метода.
public class MainTest {
public static void main(String[] args) {
DBConnector dbc = new DBConnector();
dbc.tryConnection("", "");
}
}
Возможно, это как-то связано с запуском теста на «Localhost»?
Большое спасибо!
Можете ли вы подключиться к экземпляру базы данных без имени пользователя или пароля с помощью клиента mysql? – Kayaman