我有一个(对我来说很复杂)问题,但是我会尝试解决这个问题中的1个问题。
我有一个在后端有一个MySQL数据库的java应用程序。
我希望能够通过安装程序优先交付应用程序和数据库(这也是我目前还没有解决方案的一部分)。
无论如何,现在的问题是我的偏好是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 和,没有开放的。
我的问题有解决方案吗?
答案 0 :(得分:1)
为什么你想让自己的生活变得艰难?不要使用MySQL,而是使用Embedded Database,例如:
答案 1 :(得分:1)
检查MySQL Connector/MXJ。您可以从here下载它。它可以完全控制数据库的启动和停止。一旦下载并解压缩,请检查'src'文件夹下的ConnectorMXJObjectTestExample.java。它会给你完整的想法。