Java MySQL数据库备份/恢复

时间:2012-12-15 17:27:58

标签: java mysql database

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

我正在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'而不是'&lt;',有些在字符串中有各种标志('-r')等。

(我也有类似的问题让出口工作也一样,并且最终找到了解决方案,几乎是偶然的,实际上有效。尤里卡。)

所以,这是(最后)我的问题(除了工作恢复字符串);

为什么有这么多工作解决方案来解决这个问题?在每种情况下都有人说'太棒了!为我工作!'但其他人(像我一样)认为它不起作用。这与实际解决方案无关。也就是说,实际的工作备份/恢复解决方案似乎非常依赖平台/操作系统/ java版本/ sql版本等,而且差别很大。

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

由于首先使用java的整个目的是,在很多情况下,它与平台无关,因此真正了解什么在哪些系统和配置上有效,哪些无效。

提前致谢, 杰夫

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

嗯...

0 个答案:

没有答案