java runtime执行mysqldump命令生成不了sql文件

问题描述

String[] str = {

        "mysqldump -h localhost -u root -p -t lailr_js_pay wx_sp > f:/test.sql"
        ,"root"
    };

Runtime.getRuntime(str).exec执行mysqldump命令生成sql文件
但是没有用会报错
Exception in thread "main" java.io.IOException: Cannot run program "mysqldump -h localhost -u root -p -t lailr_js_pay wx_sp > f:/wx1.sql": CreateProcess error=2, 系统找不到指定的文件。

at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at com.test.Test.main(Test.java:18)

Caused by: java.io.IOException: CreateProcess error=2, 系统找不到指定的文件。

at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 4 more

阅读 8.3k
2 个回答

运行的是cmd,不是mysqldump,
"mysqldump -h localhost -u root -p -t lailr_js_pay wx_sp > f:/test.sql"
这一句是cmd的参数

错误很明显啊,找不到mysqldump这个程序,写成绝对路径试试

推荐问题