我使用的是macos mojave,mysqldump设置为path in ~/.bash_profile
使用macos终端时,mysqldump正在工作。
即使有 /bin/bash -c mysqldump
它在工作。
但是当我用我的java应用程序尝试它时,下面给出了一个错误。
错误/输出: command: [/bin/bash, -c, mysqldump -hlocalhost-u root -p123 some_database -r "/Users/Username/Workspace/backup.sql"] /bin/bash: mysqldump: command not found false
程序代码:
String cmd = "mysqldump -h" + dbHost + "-u " + dbUser + " -p" + dbPass + " " + dbName + " -r \"" + file.getAbsolutePath() + "\"";
ProcessBuilder pb = new ProcessBuilder("/bin/bash", "-c", cmd);
pb.redirectErrorStream(true);
pb.redirectOutput(ProcessBuilder.Redirect.INHERIT);
pb.directory(new File(System.getProperty("user.home")));
System.out.println("command: " + pb.command());
Process process = pb.start();
int processComplete = process.waitFor();
if (processComplete == 0) {
return true;
} else {
return false;
}
我正在使用ampps安装mysql。
[更新]
我认为这个问题与netbeans有关。我正在测试netbeans。似乎没有加载 ~/.bash_profile
1条答案
按热度按时间7z5jn7bk1#
尝试使用此路径执行mysqldump
/Applications/AMPPS/mysql/bin/mysqldump
你的命令应该是这样的