1

我需要做一个mysql的数据库备份,但它应该具有某些功能。备份应在 java swing 中单击按钮执行。

路径:路径应该由我声明它的保存位置(例如 c://backup),但是如果我将我的 java 的 jar 文件提供给其他一些用户,那么路径应该没有保存问题,哪个路径最好用呢?

名称:名称将由 3 个字符串组成,一个是基本字符串,另一个是日期时间格式字符串,然后是第三个字符串。(例如 FileName-2012-02-12 09:00:00-Name)。

我怎样才能做到这一点?有人可以指导我吗

我尝试使用 mysqldump 进行编码,但仍然无法完成。

String dbName = "dth";
        String dbUser = "root";
        String dbPass = "root";

        String executeCmd = "";
        executeCmd = "mysqldump -u " + dbUser + " -p" + dbPass + " " + dbName + " -r C:\\backup.sql";

        Process runtimeProcess = Runtime.getRuntime().exec(executeCmd);
        int processComplete = runtimeProcess.waitFor();
        if (processComplete == 0) {
            System.out.println("Backup taken successfully");
        } else {
            System.out.println("Could not take mysql backup");
        }

    } catch (Exception e) {
        System.out.println(e.getMessage());
    }

我尝试了上面的代码,但我无法完成它,一直给我

CreateProcess error=2, 系统找不到文件指定错误。

我已经通过在该位置创建一个 .sql 文件来尝试它,但我仍然得到同样的错误。

4

1 回答 1

1

我会为此使用 mysqldump 命令。也许您甚至可以从您正在编写的任何程序中调用它。语法很简单:

mysqldump -u <user> -h <host> -p<password> <dbname> > <filename>

这只会将整个数据库作为 sql 脚本放入该文件中。

于 2013-02-16T10:15:11.793 回答