有大佬了解 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 停止的时候,将以前操作的数据库数据页保存下来
1
xiangyuecn 2023-08-23 11:37:06 +08:00
麻烦不要违背你们领导的意思,通过 Java 给安装上 MariaDB ,然后达成你的目的,启动了个服务🐶
|
2
Corolin 2023-08-23 11:46:51 +08:00
感觉 builder 没有配置 数据库文件存储目录 或者 数据库名 导致的数据丢失
另外 db 进程是挂在 jar 包的进程下面的 考虑一下分离进程?然后就是分离以后怎么停止数据库服务了 |
3
jorneyr 2023-08-23 11:53:11 +08:00
父子进程的问题,父进程关闭了,子进程也给自动关闭了。
启动进程的时候使用参数 sid 把被启动进程的 PID 自动设置为 1 就可以了。 |
4
jorneyr 2023-08-23 11:55:06 +08:00
|
5
komorebi12138 OP @xiangyuecn 代码是他给的,他说代码应该是直接安装,但是我看了他的代码就是个服务
|
6
newaccount 2023-08-23 13:02:25 +08:00
https://github.com/MariaDB4j/MariaDB4j
How? (Java) 2. (Optional) 这部分说了怎么配置 没用过,有点好奇,本想文档找一下,结果刚看了个开头就结束了 就不能翻下文档吗…… |
7
komorebi12138 OP @newaccount 感谢,我源文档没看仔细😂
|