2011-03-14 61 views
0

我通过网页将我的MySQL数据库备份到特定的文件夹,例如d:\backup\。备份没有问题,但我无法使用以下命令恢复它。如何通过Java恢复MySQL转储文件?

Runtime.getRuntime().exec("mysql -u root -p root sgapp < D:/backup/bkup.sql"); 

原因是什么,我该如何解决这个问题?

+0

阅读:http://www.javaworld.com/jw-12-2000/jw-1229-traps.html全部4页。 – BalusC 2011-03-14 11:48:24

回答

1
Runtime.getRuntime().exec("mysql -u USERNAME -pPASSWORD DBNAME < D:/backup/bkup.sql"); 

心灵的缺乏-p和密码字符串之间差距。

+1

或缺少它 – 2011-03-14 04:39:55

+0

它似乎没有工作.....但它从命令提示符执行时工作... – pheonix4eva 2011-03-14 04:55:49

+0

@ pheonix4eva - 这是一个明显的错误。但是,我认为您还应该包含从JSP尝试获取的错误的堆栈跟踪。这将有助于深入挖掘。 – Nishant 2011-03-14 05:06:23

1

这对我的作品:

Runtime.getRuntime().exec("cmd /c start mysqldump -u root -ptestpsw workone -rscript_name.sql"); 

使用-rfilename.sql,而不是重定向<。 也许它也适用于你。