繁体   English   中英

使用Java备份MySQL数据库

[英]Backup mysql database using java

我的应用程序包含一个用于备份的Java框架。我在公共类中添加以下代码并调用它。我的需要是在应用程序中创建MySQL转储文件。如何使用Java代码来做到这一点,下面的代码集将给出您在我的程序中到底做了什么。

  public boolean backupDB() {

    connection = (Connection) dbSource.getConnection();


    String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\"  -u root -p pass macfast -r backup.sql";
    Process runtimeProcess;
    try {

        runtimeProcess = Runtime.getRuntime().exec(executeCmd);
        int processComplete = runtimeProcess.waitFor();

        if (processComplete == 0) {
            System.out.println("Backup created successfully");
            return true;
        } else {
            System.out.println("Could not create the backup");
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }

    return false;
}

我叫这个

 private void backupbtnActionPerformed(java.awt.event.ActionEvent evt) {
    backupDB();
}

我尝试运行时卡住了。运行后我无法关闭框架。只能通过taskmanager。为什么?

确保mysqldump在系统PATH环境变量上

该错误表明它找不到该程序,这意味着它很可能在工作目录中查找。

您为什么不尝试使用实用程序的完整路径?

/<fullpath>/mysqldump -u

似乎问题在于...程序文件...之间的空白,您需要将路径包含在“

更改String executeCmd = "C:\\\\Program Files\\\\MySQL\\\\MySQL Server 5.1\\\\bin\\\\mysqldump -u root -p pass macfast -r backup.sql";

String executeCmd = "\"C:\\Program Files\\MySQL\\MySQL Server 5.1\\bin\\mysqldump\"  -u root -p pass macfast -r backup.sql";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM