Занимаюсь разработкой собственной мини-утилиты для работы с MySQL.
Как я могу проверить подключение к указанному хосту (по логину и паролю) без указания* базы данных, как, например, это реализовано в phpMyAdmin... Ибо большинство абстракций подключения к MySQL требуют соответственную БД для работы (в частности, MysqlDataSource, в моём случае)...
Заранее спасибо)
Без указания базы вряд ли получится. Но в MySql есть тестовая база test
. Можно подключиться к ней и сделать тестовый запрос, т.е. select 1
. Примерно так:
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/test";
String user = "testUser";
String password = "testPasssword";
try (Connection conn = DriverManager.getConnection(url, user, password);
Statement st = conn.createStatement();) {
st.execute("select 1");
} catch (SQLException e) {
//обработка ошибки
//можно делать дополнительную проверку через
String sqlState = e.getSQLState();
//sqlState.equals("...")
}
При неправильном юзере/пароле свалится исключение. К тому же можно дополнительно спарсить sqlState
из ошибки. Однако стоит учитывать, что администратор БД может запретить возвращать ошибки вида "правильный логин, но неправильный пароль" из-за ограничений безопасности (они будут указываться просто как неправильный логин или пароль).
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
До добавления maven у меня был один java class Main, после добавления его местоположение было в srcmaven создал структуру проекта и на сколько я понимаю...
Переменные экземпляра, объявленные как static, по существу, являются глобальными
Получил время видео youtube, через Json PT24M30S, можно как нибудить перевести, это время в секунды?