V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
komorebi12138
V2EX  ›  程序员

Java 启动 MariaDB 相关问题询问

  •  
  •   komorebi12138 · 2023-08-23 11:24:36 +08:00 · 1116 次点击
    这是一个创建于 463 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有大佬了解 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 停止的时候,将以前操作的数据库数据页保存下来

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

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

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

    没用过,有点好奇,本想文档找一下,结果刚看了个开头就结束了
    就不能翻下文档吗……
    komorebi12138
        7
    komorebi12138  
    OP
       2023-08-23 13:58:37 +08:00
    @newaccount 感谢,我源文档没看仔细😂
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2831 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:32 · PVG 23:32 · LAX 07:32 · JFK 10:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.