1

我知道这个问题已经在网站和网络上多次解决,但我仍然遇到问题。

我在 Windows 7 机器上使用 MySql Server 5.0(尽管我在 xp 上有相关程序的工作副本)和 Netbeans 7.0(和/或需要时的 eclipse)和 1.6 java。

我有一个使用这个字符串的备份例程->

String xCommand = 
    "mysqldump -u username -ppassword dbName -r mySqlBackupFile.sql";

在这段代码中->

int pComplete = 1;

try{
   Process rtProcess = Runtime.getRuntime().exec(xCommand);
   pComplete = runtimeProcess.waitFor();
}
catch(Exception e) {
 // (I have my own error reporting here)
}

等等......一切都很好。已成功创建备份。伟大的。我已验证该文件是有效的 sql 导入脚本。

所以现在我需要有一个使用java恢复的例程。我已经尝试了多种(+20)解决方案来解决本网站和其他网站上的“恢复 mysql db”问题。我最新的化身是->

String xCommand = 
        "mysql -u username -ppassword dbName < mySqlBackupFile.sql";

他们都没有工作。都有类似的字符串,有些人说使用'source'而不是'<',有些人在字符串中有各种标志('-r'),等等。

(我在让导出工作也遇到了类似的问题,最后几乎是偶然地找到了一个确实有效的解决方案。尤里卡。)

所以,这是(最后)我的问题(除了一个有效的恢复字符串);

为什么这个问题有这么多可行的解决方案?在每种情况下,都会有人说“太好了!为我工作!但后来其他人(比如我)对它不起作用。这与实际解决方案无关。也就是说,实际工作的备份/恢复解决方案似乎非常依赖于平台/操作系统/java版本/sql版本等,并且差异很大。

这些信息所在的某个地方是否有一些明确的指南?

由于首先使用 java 的全部目的是,在许多情况下,它独立于平台的性质,因此真正了解在哪些系统和配置上哪些有效,哪些无效是有意义的。

在此先感谢,杰夫

我实际上已经用这个解决方案暂时解决了我自己的问题-> https://stackoverflow.com/questions/872494/restore-mysql-from-cmd-line-using-java-environment] ] 1 但现在我我遇到了一个问题,即 db 备份过程仅在从 netbeans 运行时才有效。不能从独立的 jar 中工作。但是,还原确实可以正常工作。(程序的其余部分也可以正常工作)。

唔...

4

0 回答 0