У меня есть (для меня сложная) проблема, но я постараюсь решить только 1 проблему в этой теме.
У меня есть Java-приложение, в базе которого есть база данных MySQL.
Я хочу иметь возможность доставлять приложение вместе с базой данных предпочтительно через установщик (это тоже часть, решение которой у меня пока нет).
В любом случае, проблема в том, что я предпочитаю, чтобы MySQL не устанавливался как сервис.
Моя причина в том, что я предпочел бы не изменять машину, так как мое приложение будет развернуто.
Я предпочитаю доставлять «автономные» приложения.
Так что, если MySQL не установлен в качестве службы, его нужно каким-то образом запустить.
Я знаю, что могу запустить MySQL как автономный, используя:
mysqld --standalone --console
В этом случае открывается новое окно командной строки и запускается MySQL (я использовал его до сих пор во время разработки / тестирования кода).
Я не знаю, как добиться того же эффекта после развертывания приложения (и запуска MySQL через код во время выполнения).
Я подумал об использовании Runtime и сделал что-то вроде:
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec("PATH\\mysqld --standalone --console"); //PATH is of course the appropriate path to MySQL installation
Но это, похоже, ничего не делает. Это просто остается голодным.
В идеале я хотел бы запустить MySQL и , а также не иметь открытой консоли .
Есть ли решение моей проблемы?