如何使用自定义名称和信息创建MYSQL备份

时间:2013-02-16 10:10:47

标签: java mysql backup

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

路径:路径应该由我保存在哪里(例如c:// backup)但路径应该是这样的,如果我向其他用户提供我的java的jar文件应该没有保存问题,哪条路最好用呢?

名称:名称将由3个字符串组成,一个是基本字符串,另一个是Datetime格式字符串,后面再次是第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文件来尝试它,但我仍然得到相同的错误。

1 个答案:

答案 0 :(得分:1)

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

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

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