我正在使用在我的桌面应用程序中嵌入MySQL数据库,并使用MySQL/connector/MXJ(我知道MySQL已经停止使用了)。
这是在windows平台上启动MySQL而不会导致错误的好方法。
我的问题是如何使用My.ini(MySQL/bin/My.ini)设置服务器选项?例如,我将innodb_force_recovery = 6
添加到my.ini中,但当我使用getServerOptions()
时,我会得到
innodb-force-recovery 0
是否还有其他设置服务器选项的原因?
感谢
我通过将连接器/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);
}