gpt4 book ai didi

java - 无法在 XAMPP 中运行 mysqldump

转载 作者:行者123 更新时间:2023-12-02 09:40:49 25 4
gpt4 key购买 nike

我无法在 xampp 中执行 mysqldump,它显示“系统找不到指定的文件”。我正在使用以下代码:

    public boolean backupDB(String dbName, String dbUserName, String dbPassword, String path) {

String[] executeCmd = new String[] {
"mysqldump.exe",
"-u",
dbUserName,
"-p",
dbPassword,
"--add-drop-database",
"-B",
dbName,
"-r",
path
};

Process runtimeProcess;
try {

File pasta = new File("C:\\xampp\\mysql\\bin");
runtimeProcess = Runtime.getRuntime().exec(executeCmd, null, pasta);
int processComplete = runtimeProcess.waitFor();

if (processComplete == 0) {
System.out.println("Backup created successfully");
return true;
} else {
System.out.println("Could not create the backup");
}
} catch (Exception ex) {
ex.printStackTrace();
}

return false;
}

当我运行此程序时,出现以下错误:

    java.io.IOException: Cannot run program "mysqldump.exe" (in directory "C:\xampp\mysql\bin"): CreateProcess error=2, O sistema não pode encontrar o arquivo especificado
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at java.lang.Runtime.exec(Runtime.java:620)
at xd.test.backupDB(test.java:25)
at xd.ee.main(ee.java:7)

设置一个是mysqldump,它是正确的扩展类型,但仍然没有找到mysqldump。我尝试了一切,但无法解决这个问题,有什么想法吗?

最佳答案

改用 ProcessBuilder,试试这个:

String[] executeCmd = new String[] {
"C:\\xampp\\mysql\\bin\\mysqldump.exe ",
"-u ",
dbUserName,
"-p ",
dbPassword,
"--add-drop-database ",
"-B ",
dbName,
"-r ",
path
};

final ProcessBuilder pb = new ProcessBuilder(Arrays.asList(executeCmd));
final Process p;
try {
p = pb.start();
int processComplete = p.waitFor();

if (processComplete == 0) {
System.out.println("Backup created successfully");
return true;
} else {
System.out.println("Could not create the backup");
BufferedReader reader = new BufferedReader(new InputStreamReader(p.getErrorStream()));
String line = null;
while ( (line = reader.readLine()) != null) {
System.out.println(line);
}
}
} catch (IOException | InterruptedException e) {
e.printStackTrace();
}

关于java - 无法在 XAMPP 中运行 mysqldump,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57082571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com