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.2k
2 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题