Не могу запустить сервис MySQL с помощью JavaMySql

Форум по Mysql
Anonymous
Не могу запустить сервис MySQL с помощью Java

Сообщение Anonymous »

У меня есть приложение-клиент-сервер, и я использую базу данных MySQL. Когда я создаю объект Connection , исключение бросается, если служба MySQL не работает. Поэтому я хочу запустить его через ProcessBuilder и попробовать соединение. Вот мой код: < /p>

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

private static Connection getConnection(){
try {
return DriverManager.getConnection(
"jdbc:mysql://" + DB_HOST + ":" + DB_PORT + "/" + DB_NAME,
DB_USER,
DB_PASS
);
} catch (SQLException e) {
if (e instanceof CommunicationsException){
new Thread(() -> {
ProcessBuilder pb = new ProcessBuilder("net", "start", "mysql80")
.inheritIO();
try {
pb.start();
} catch (IOException ex) {
throw new RuntimeException(ex);
}
}).start();
try {
return DriverManager.getConnection(
"jdbc:mysql://" + DB_HOST + ":" + DB_PORT + "/" + DB_NAME,
DB_USER,
DB_PASS
);
} catch (SQLException ex) {
throw new RuntimeException(ex);
}
} else {
throw new RuntimeException(e);
}
}
}
db #### Переменные определены в другой части кода, и с ними нет проблем.
Когда я запускаю код, я получил:
System error 5.

Access denied.
< /code>
Это потому, что мне нужны привилегии администратора, но я не знаю, как дать это классу моего сервера или, если это хорошая практика. Я нахожусь в Windows 10 и работаю над проектом, поэтому я выполняю файлы через IDE (IntelliJ).
pd: я знаю, что могу запустить услугу вручную, установить его автоматически, используйте консоль (то есть CMD) с привилегиями администратора ... Я просто хочу знать, и как это сделать (и если это хорошая идея).>

Подробнее здесь: https://stackoverflow.com/questions/795 ... using-java

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