使用mysql / connector / mxj在MySQL桌面中嵌入MySQL

时间:2016-08-04 14:21:48

标签: java mysql

我在桌面应用程序中使用嵌入MySQL 数据库并使用 MySQL / connector / MXJ (我知道已经被Mysql家伙停止了。)

这是在Windows平台上启动MySQL而不会导致错误的好方法。

我的问题是如何使用my.ini( MySQL / bin / my.ini )设置 服务器选项 ?例如,我将innodb_force_recovery = 6添加到 my.ini ,但是当我使用getServerOptions()时,我得到了

innodb-force-recovery  0

还有其他原因可以设置服务器选项吗?

由于

1 个答案:

答案 0 :(得分:0)

我通过将connector / MXJ源代码直接包含到我的项目中来解决问题,之后我在MysqldResource.java上标记了一些更改

String[] constructArgs(Map mysqldArgs) {
    List strs = new ArrayList();
    strs.add(utils.files().getPath(getMysqldFilePointer()));

    //The magic happens here 
    strs.add("--defaults-file=mysql\\my.ini");
    if (isWindows()) {
        strs.add("--console");
    }
    Iterator it = mysqldArgs.entrySet().iterator();
    while (it.hasNext()) {
        Map.Entry entry = (Map.Entry) it.next();
        String key = (String) entry.getKey();
        String value = (String) entry.getValue();
        StringBuffer buf = new StringBuffer("--");
        buf.append(key);
        if (value != null) {
            buf.append("=");
            buf.append(value);
        }
        strs.add(buf.toString());
    }

    return utils.str().toStringArray(strs);
}