Java 启动 MariaDB 相关问题询问

2023-08-23 11:24:36 +08:00
 komorebi12138

有大佬了解 MariaDB 相关问题吗,这里有个需求,但是我找遍了全网都不知道:

1 、是使用的 Java 启动的 MariaDB ,Maven 仓库我贴下面。 2 、现在能够启动,也能通过 Navicat 进行链接操作,启动的时候是使用了 SQL 文件创建数据库的。

现在就有个问题,无论我是打包之后通过 Jar 包启动也好,或则是在 Idea 上运行项目也好,只要我关闭了 Jar 进程或则 Idea ,MariaDB 也就相对应的关闭了,而且如果我在启动之后对数据库做了相关的操作,如果关闭之后重启,数据库又会还原到初始的状态。

在这里还有个我跟领导的意见相反的,我觉得 Java 启动 MariaDB 就是启动了个服务,但是我们领导就是觉得他就是通过 Java 安装了 MariaDB ,下面附上启动的关键代码

DBConfigurationBuilder config = DBConfigurationBuilder.newBuilder();
config.setPort(3308); // 设置端口
DB db = DB.newEmbeddedDB(config.build());
db.start();// 启动数据库

String dbName = "test";
db.createDB(dbName);
db.source("sql/test.sql", "root", null, dbName);// 创建数据库
        
<dependency>
   	<groupId>ch.vorburger.mariaDB4j</groupId>
   	<artifactId>mariaDB4j</artifactId>
   	<version>2.5.3</version>
</dependency>

我想提的问题就是有没有办法能够在 mariaDB 停止的时候,将以前操作的数据库数据页保存下来

1116 次点击
所在节点    程序员
7 条回复
xiangyuecn
2023-08-23 11:37:06 +08:00
麻烦不要违背你们领导的意思,通过 Java 给安装上 MariaDB ,然后达成你的目的,启动了个服务🐶
Corolin
2023-08-23 11:46:51 +08:00
感觉 builder 没有配置 数据库文件存储目录 或者 数据库名 导致的数据丢失
另外 db 进程是挂在 jar 包的进程下面的 考虑一下分离进程?然后就是分离以后怎么停止数据库服务了
jorneyr
2023-08-23 11:53:11 +08:00
父子进程的问题,父进程关闭了,子进程也给自动关闭了。
启动进程的时候使用参数 sid 把被启动进程的 PID 自动设置为 1 就可以了。
jorneyr
2023-08-23 11:55:06 +08:00
如果关闭之后重启,数据库又会还原到初始的状态。
DB db = DB.newEmbeddedDB(config.build());

你这里指定了是嵌入式的数据库,直接安装一个 MariaDB 吧。
komorebi12138
2023-08-23 12:49:03 +08:00
@xiangyuecn 代码是他给的,他说代码应该是直接安装,但是我看了他的代码就是个服务
newaccount
2023-08-23 13:02:25 +08:00
https://github.com/MariaDB4j/MariaDB4j

How? (Java)
2. (Optional) 这部分说了怎么配置

没用过,有点好奇,本想文档找一下,结果刚看了个开头就结束了
就不能翻下文档吗……
komorebi12138
2023-08-23 13:58:37 +08:00
@newaccount 感谢,我源文档没看仔细😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/967591

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX