`

Java程序调用系统命令进行mysql数据库的备份与还原(方式一)

阅读更多
第一种方式

数据库备份:
public class DBBackup {
  //导出数据库成sql文件
  public static  void  backup(String DBName,String file){
 
    String user = "root"; // 数据库帐号
     String password = "123456"; // 登陆密码
     String database = DBName; // 需要备份的数据库名
     String filepath = file; // 备份的路径地址
     String Str="mysqldump " + database + " -u " + user + " -p"+ password + " --result-file=" + filepath;
     try {
         Process p=Runtime.getRuntime().exec(Str); //执行命令
p.waitFor(); //命令执行时,等待状态
           System.out.println("数据已导出到文件" + filepath + "中");
      }
      catch (IOException e) {
e.printStackTrace();
      }
      catch(InterruptedException e){
e.printStackTrace();
       }
  }

}


数据恢复:
  public class DBUpload {
 
  private static String databases;//mysql中所有数据库的名称组成的字符串,逗号隔开
  static{
    QueryBuilder qb=new QueryBuilder("show databases;");
    DataTable dt=qb.executeDataTable();
    StringBuffer court=new StringBuffer("");
    if(dt.getRowCount()>0){
    for(int i=0;i<dt.getRowCount();i++){
    if(i==0){
     court.append(dt.getString(i,"Database"));
    }else{
     court.append(","+dt.getString(i,"Database"));
}
     }
      databases=court.toString().trim();
   }else{
      databases="";
  }
  }

  //判断数据库是否已经存在
   public static boolean isExist(String DBName){
     if(StringUtil.isEmpty(databases)){
return false;
      }else{
String dbs[]=databases.split(",");
for(int i=0;i<dbs.length;i++){
  if(DBName.equalsIgnoreCase(dbs[i])){
return true;
}else{
                     continue;
        }
       }
          return false;
      }
   }
 

  //导入到数据库中
  public static boolean  load(String DBName,String file){
       String user = "root"; // 数据库帐号
        String password = "123456"; // 登陆密码
        String database = DBName; // 需要备份的数据库名
        String filepath=file;
       String str1="mysqladmin -u "+user+" -p"+password+" create "+database;
       String str2="mysql -u "+user+" -p"+password+" "+database+" < " + filepath;
       String[] cmd={"cmd","/c",str2};
       try{
          if(!isExist(DBName)){//不存在此数据库
      Runtime.getRuntime().exec(str1);
}
Process p= Runtime.getRuntime().exec(cmd);
p.waitFor();
System.out.println("数据已从 " + filepath + " 导入到数据库中");
return  true;
       }catch(Exception e){
          e.printStackTrace();
          return false;
       }
  }

  }

QueryBuilder DataTable StringUtil均是经过封装的类
此方式不足之处在于,所有的路径中不能有空格,若有空格程序无法执行!


分享到:
评论

相关推荐

    java mysql 数据库备份和还原操作(csdn)————程序.pdf

    上述代码展示了如何使用Java来实现MySQL数据库的备份和还原操作。以下是对这些操作的详细解释: 首先,代码导入了多个Java库,包括`java.io`包下的类,用于处理输入/输出流,以及`java.util`包下的类,如`Date`和`...

    mysql数据库备份与恢复

    本知识点将深入探讨如何在SpringBoot环境下对MySQL数据库进行备份与恢复,以确保数据的安全。 首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java ...

    mysql(完整、增量)备份与还原

    MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...

    JAVA实现数据库备份与还原

    通过上述介绍可以看出,使用Java调用`mysqldump`和`mysql`工具进行MySQL数据库的备份与恢复是一种简单有效的方法。不仅可以提高数据安全性,还能够通过编写脚本来实现自动化的数据备份与恢复流程,极大地提高了工作...

    Java实现SqlServer及MySql的备份与还原(经典版).docx

    【Java实现SQL Server及MySQL备份与还原】 在Java开发中,有时我们需要对数据库进行备份和还原操作,以确保数据的安全性和可恢复性。本篇将详细介绍如何使用Java来实现SQL Server和MySQL这两种常见数据库的备份与...

    java备份还原数据库

    Java作为一种广泛使用的编程语言,提供了多种方法来处理数据库的备份与还原操作。在这个主题中,我们将深入探讨如何利用Java来实现这一功能,主要关注MySQL、Oracle、SQL Server等主流数据库系统。 1. **数据库备份...

    java jsp实现mysql备份还原 代码

    ### Java JSP 实现 MySQL 数据库备份与还原 #### 知识点概述 本文将详细介绍如何使用 Java Bean 技术配合 JSP 来实现 MySQL 数据库的备份与还原功能。在实际开发过程中,数据库的备份与恢复是非常重要的环节,它...

    java实现数据库容灾备份

    在`DemoController.java`中,可能包含了一个处理数据库备份请求的控制器,它调用了相关的备份服务或工具。而`java实现数据库备份说明.txt`文件可能详细阐述了实现备份的具体步骤和技术细节,包括代码示例、配置说明...

    数据库备份与还原

    6. **压缩包子文件的文件名称列表**:“数据库备份还原”可能包含数据库备份的压缩文件,如`.zip`或`.gz`格式,这些文件可能包含多个数据库备份文件,如全备文件、日志文件或其他格式的备份。 在实际操作中,开发者...

    JAVA实现数据库备份与还原.pdf

    - 同样地,使用Java调用MySQL客户端命令(如`mysql`命令)来进行数据还原。 - 示例Java代码片段如下: ```java public boolean restore(String file) { boolean isSuccess = true; try { Runtime rt = ...

    JAVA实现数据库备份与还原扫描.pdf

    总之,使用Java实现MySQL数据库的备份与还原,可以通过调用系统命令结合`mysqldump`和`mysql`工具,同时处理好输入输出流,确保数据的安全传输和存储。在实际操作中,还需要关注性能、安全性以及不同场景下的优化...

    Java备份还原MySQL

    本主题将详细探讨如何使用Java来实现MySQL数据库的备份和还原功能。 首先,让我们了解为什么需要进行数据库备份。数据库备份的主要目的是防止数据丢失,这可能由于硬件故障、软件错误、恶意攻击或意外删除等原因...

    MySQL_Oralce数据库备份和还原的常用命令[文].pdf

    MySQL数据库备份通常涉及以下几种方法: 1. **完整数据库备份**:使用`mysqldump`工具进行全量备份,命令如下: ```bash mysqldump -hhostname -uusername -ppassword databasename &gt; backupfile.sql ``` 这个...

    Java实现SqlServer及MySql的备份与还原(经典版).pdf

    本文将深入探讨如何使用Java编程语言来实现对SQL Server和MySQL数据库的备份与还原功能。 首先,我们需要一个数据库连接基类,如`DataBaseUtil`,它负责建立和关闭与数据库的连接。在这个例子中,作者使用了Struts1...

    数据库备份还原源代码

    本文将深入探讨“数据库备份还原”的概念、重要性、常见方法以及源代码实现。 首先,数据库备份是保护数据免受意外丢失或损坏的关键步骤。这可能包括硬件故障、软件错误、人为误操作、病毒攻击或者自然灾害等不可...

    使用Java备份还原MySQL

    首先,备份MySQL数据库通常涉及到SQL的`mysqldump`命令,但在Java环境中,我们可以通过调用操作系统命令或者使用相关的Java库来实现。这里主要介绍使用Java的Runtime类或ProcessBuilder类来调用外部`mysqldump`工具...

    用Java实现MySQL的备份与恢复

    通过以上步骤,我们成功地实现了使用Java对MySQL数据库进行备份与恢复的功能。这种方法不仅简单高效,而且可以根据实际需求灵活调整。这对于维护数据库的完整性以及保证数据安全至关重要。在实际应用中,还可以考虑...

    数据库还原备份(完整设计代码)

    另一方面,"BackUpAndRestore"可能是实际的源代码文件,可能包含了实现备份和恢复功能的程序代码,例如使用编程语言(如Java、Python、C#)与数据库进行交互,执行备份和恢复操作的API调用等。 学习和实践这些内容...

Global site tag (gtag.js) - Google Analytics