`

如何使用java程序备份和恢复MySql数据库?

 
阅读更多
如何使用java程序备份和恢复MySql数据库? 
注:要将mysql的bin目录加入到环境变量Path中

将MySql中的数据库导出到文件中 备份

import java.io.*;
import java.lang.*;

public class BeiFen {

  public static void main(String[] args) {
   // 数据库导出
   String user = "root"; // 数据库帐号
   String password = "root"; // 登陆密码
   String database = "test"; // 需要备份的数据库名
   String filepath = "e:\\test.sql"; // 备份的路径地址

String   stmt1   =   "D:\\mysql5027\\bin\\mysqldump   "   + database   +   "   -u   "   +   user   +   "   -p"
    +   password   +   "   --result-file="   +   filepath;

  
   /*
   * String stmt1 = "mysqldump " + database + " -u " + user + " -p"
   * + password + " --result-file=" + filepath;
   *
   * String mysql="mysqldump test -u root -proot
   * --result-file=d:\\test.sql";
   */

   try {
   Runtime.getRuntime().exec(stmt1);
   System.out.println("数据已导出到文件" + filepath + "中");
   }
   catch (IOException e) {
   e.printStackTrace();
   }
  }
}

 

将数据从磁盘上的文本文件还原到MySql中的数据库

import java.io.*; 
import java.lang.*; 

/* 
* 还原MySql数据库 
* */ 
public class Recover { 

  public static void main(String[] args) { 

   String filepath = "d:\\test.sql"; // 备份的路径地址  
  //新建数据库test 

  String stmt1 = "mysqladmin -u root -proot create test"; 

  String stmt2 = "mysql -u root -proot test < " + filepath; 
  String[] cmd = { "cmd", "/c", stmt2 }; 

   try { 
  Runtime.getRuntime().exec(stmt1); 
  Runtime.getRuntime().exec(cmd); 
  System.out.println("数据已从 " + filepath + " 导入到数据库中"); 
  } catch (IOException e) { 
  e.printStackTrace(); 
  }  

}



另外的程序

package jakie;

//import java.io.*;

public class Backup {
    private String user_name;//数据库用户名
    private String user_psw;//数据库密码
    private String db_name;// 需要备份的数据库名
    private String host_ip;
    private String user_charset;
    private String backup_path; //存放备份文件的路径
    private String stmt;

    public Backup(String user_name,String user_psw,String db_name,String host_ip,String user_charset,String backup_path){
        this.user_name=user_name;
        this.user_psw=user_psw;
        this.db_name=db_name;
        //主机IP;
        if(host_ip==null||host_ip.equals(""))
            this.host_ip="localhost";//默认为本机
        else
            this.host_ip=host_ip;
        //字符集
        if(user_charset==null||user_charset.equals(""))
            this.user_charset=" "; //默认为安装时设置的字符集
        else
            this.user_charset=" --default-character-set="+user_charset;
        this.backup_path=backup_path;

        this.stmt="d:\\MYSQL\\bin\\mysqldump "+this.db_name+" -h "+this.host_ip+" -u"+this.user_name+" -p"+this.user_psw
                +this.user_charset+" --result-file="+this.backup_path;
    }

    public boolean backup_run(){
        boolean run_result=false;
        try{
            Runtime.getRuntime().exec(this.stmt);
            run_result=true;
        }catch(Exception e){
            e.printStackTrace();
        }finally{
            return run_result;
        }
    }
    public static void main(String[] args){
        Backup backup=new Backup("root","000000","jakie",null,"utf8","e:\\test.sql");
        boolean result=backup.backup_run();
        if(result)
            System.out.println("备份成功");       

    }
}

分享到:
评论

相关推荐

    java备份与恢复mysql数据库源码

    接下来,我们来看如何编写Java代码来备份MySQL数据库。这通常涉及到执行`mysqldump`命令,这是一个MySQL提供的工具,可以生成数据库或表的SQL语句。在Java中,我们可以使用`ProcessBuilder`类来执行系统命令。以下是...

    mysqldump java远程备份mysql数据库 cmd备份

    下面将详细介绍如何通过CMD(命令提示符)和Java来使用mysqldump进行MySQL数据库的备份。 ### CMD备份 在Windows系统中,我们通常使用CMD(命令提示符)来执行mysqldump命令。首先,确保MySQL服务器已运行,并且...

    Java在线备份和还原MySQL数据库

    Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。

    java备份mysql数据库

    标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...

    java备份与恢复MYSQL数据库

    首先,备份MySQL数据库通常涉及两种主要方式:全量备份和增量备份。全量备份是指备份整个数据库,包括所有的表、索引、用户权限等信息。增量备份则只备份自上次备份以来发生改变的数据,这样可以节省存储空间。Java...

    mysql数据库备份与恢复

    首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java Database Connectivity)API或者Spring Data JPA等库来与MySQL交互。以下是一般备份和恢复过程的...

    利用JDBC备份和还原MYSQL数据库

    利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份

    Java实现对Mysql数据库的备份还原

    本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...

    通过Java代码备份Mysql数据库Demo

    这个“通过Java代码备份Mysql数据库Demo”是一个简单的示例,旨在帮助开发者快速理解和实践这一功能,从而节省学习和调试的时间。 首先,我们需要了解Java中用于连接MySQL数据库的JDBC(Java Database Connectivity...

    自动备份数据库java源码

    标题中的“自动备份数据库java源码”指的是使用Java编程语言编写的一种程序,它的主要功能是自动化执行数据库的备份任务。数据库备份是数据保护的重要环节,它可以在数据丢失或系统故障时恢复数据,确保业务连续性。...

    使用java自动备份mysql数据库

    在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用 java语言了,只要原理会了...话不多说,下面就来演示一下如何自动备份mysql下的abc数据库:

    java 定时备份数据库

    总之,实现Java定时备份MySQL数据库需要理解如何在Java中调用外部命令,如何创建定时任务,以及如何与Spring等框架集成。在SSM项目中,可以利用Spring的定时任务特性来优雅地管理备份任务。记得在实际应用中处理异常...

    java实现mysql数据库的表导出到excel文件

    本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    mysql 数据库备份 java 源代码

    要进行MySQL数据库备份,我们通常会执行`mysqldump`命令,这是一个用于备份MySQL数据库的实用工具。然而,在Java中,我们可以使用JDBC(Java Database Connectivity)API来模拟这个过程。首先,我们需要创建一个JDBC...

    linux和windows上备份Mysql数据库java代码

    3. **CmdUtil.java** - 在Linux和Windows系统中,备份MySQL数据库的常见方式之一是通过执行操作系统命令,比如`mysqldump`。这个类可能包含了运行操作系统命令的函数,使用Java的Runtime或ProcessBuilder类来执行...

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

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

    java实现数据库容灾备份

    本文将深入探讨如何使用Java来实现这一功能,特别是针对MySQL数据库的备份。结合提供的标题"java实现数据库容灾备份"和描述"可以集成定时任务去实时备份或者定期备份,欢迎一起讨论",我们将详细介绍如何利用Java...

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

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

    Mysql数据库定时备份

    在本文中,我们将介绍三种不同的Mysql数据库定时备份方法,包括手动备份、使用定时任务备份和Java代码添加监听备份。 手动备份 手动备份是最简单的一种备份方法,只需要使用mysqldump命令将数据库备份到文件中。...

    java调用mysql命令 导入导出数据库

    在Java编程中,有时我们需要对MySQL数据库进行导入和导出操作,这通常涉及到数据库的备份、迁移或数据恢复。在给定的标题“java调用mysql命令 导入导出数据库”中,我们可以理解为使用Java来执行MySQL的命令行工具,...

Global site tag (gtag.js) - Google Analytics