`
hzywy
  • 浏览: 169056 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

mysql数据库备份--java代码

阅读更多

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;


//数据库备份
public class MySQLDump {

    public static boolean sqlDump(String cmd,String filePath){
        boolean falg = false;
        try {
            Runtime run = Runtime.getRuntime();
            //cmd 命令:"C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot  email"
            Process p = run.exec(cmd);
            InputStream is =     p.getInputStream();// 控制台的输出信息作为输入流 
            InputStreamReader isr = new InputStreamReader(is,"UTF-8");//设置输入流编码格式
            BufferedReader br = new BufferedReader(isr);
            //将控制台输入信息写入到文件输出流中
            FileOutputStream fos = new FileOutputStream(filePath);
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"UTF-8"));
            String temp = null;
            while( (temp = br.readLine()) !=null){
                bw.write(temp);
                bw.newLine();
            }
            bw.flush();
            bw.close();
            br.close();
            falg = true;
            System.out.println("/* Dump  SQL File "+filePath+" OK! */");  
        } catch (IOException e) {
            throw new RuntimeException("请将mysql命令添加到path中!",e);
        }
        return falg;
    }
   
    //恢复数据库
    /** 
     * 导入 
     * 
     */ 
    public static void sqlLoad(String cmd,String sqlPath) {  
        try {  
            Runtime rt = Runtime.getRuntime();  
 
            // 调用 mysql 的 cmd: C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email 
            Process child = rt.exec(cmd);  
            OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流  
            //输入流
            BufferedReader br = new BufferedReader(new InputStreamReader(  
                    new FileInputStream(sqlPath), "utf8"));  
            //输出流
            OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");  
            String inStr;  
            while ((inStr = br.readLine()) != null) {  
                writer.write(inStr); 
                writer.write("\r\n");
            }  
            writer.flush();  
            // 别忘记关闭输入输出流  
            out.close();  
            br.close();  
            writer.close();  
            System.out.println("/* Load  SQL File "+sqlPath+" OK! */");  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
 
    } 
    public static void main(String[] args) {
        sqlDump("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot  email","c:/email.sql");
        sqlLoad("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email","c:/email.sql");
    }

}

参考网址:http://blog.csdn.net/afgasdg/article/details/6957678

分享到:
评论

相关推荐

    mysql-connector-java-5.1.25, mysql 5.7.31亲测有效

    而MySQL Connector/J则是MySQL与Java应用程序之间的桥梁,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够方便地在Java应用中访问和操作MySQL数据库。本主题主要关注的是`mysql-connector-...

    基于 mysql-binlog-connector-java 实现增量数据的收集.zip

    MySQL数据库在进行大量数据操作时,实时同步和备份是非常重要的需求。`mysql-binlog-connector-java` 是一个用于读取 MySQL 二进制日志(binlog)的Java库,它可以帮助开发者实现实时的数据复制、数据同步以及增量...

    mysql-connector-java-5.1.27

    `mysql-connector-java-5.1.27`是MySQL官方提供的一个JDBC(Java Database Connectivity)驱动包,允许Java开发者通过编写Java代码来执行SQL查询、更新数据库以及管理MySQL数据库的各种操作。 **JDBC驱动类型** ...

    mysql数据库驱动包mysql-connector-java-5.1.39-SNAPSHOT-bin.jar

    MySQL数据库驱动包`mysql-connector-java-5.1.39-SNAPSHOT-bin.jar`是用于Java应用程序连接MySQL数据库的关键组件。在这个特定的版本中,它解决了与Jira 7.2版本配合时可能出现的MySQL 5.7驱动兼容性问题。在本文中...

    mysql-connector-java-5.1.19.jar.zip

    这个压缩包“mysql-connector-java-5.1.19.jar.zip”包含了该版本的驱动 jar 包,它是将 Java 应用程序与 MySQL 数据库连接的关键组件。 首先,我们需要了解什么是 JDBC。JDBC 是 Sun Microsystems(现已被 Oracle ...

    mysql-connector-java-5.1.6-bin.rar

    总结来说,`mysql-connector-java-5.1.6-bin.rar`是MySQL数据库与Java应用程序交互的关键组件,通过它,开发者可以编写Java代码实现对MySQL数据库的各种操作,从而构建基于Java的数据库驱动的应用程序。在实际开发中...

    数据库资源(MYSQL 5.1 +navicat for mysql + mysql-connector-java)

    Java连接数据库资源,特别是`mysql-connector-java`,这是MySQL官方提供的JDBC驱动程序,用于在Java应用程序中连接到MySQL数据库。Java Database Connectivity (JDBC) 是Java平台的标准接口,用于与各种类型的数据库...

    mysql-connector-java-commercial-5.1.36

    MySQL是世界上最受欢迎的开源数据库系统之一,而`mysql-connector-java-commercial-5.1.36`是一款专为Java应用程序设计的MySQL驱动程序,它允许Java开发者在Java应用中连接和操作MySQL数据库。这个版本是5.1系列的...

    mysql-connector-java-3.1.7-bin.jar

    在压缩包子文件的文件名称列表中,"mysql-connector-java-3.1.7-bin.jar.bak"看起来像是原始jar文件的一个备份(.bak扩展名通常用于备份文件)。开发者可能出于防止意外丢失或损坏的目的创建了这个备份,如果原始...

    mysql 数据库备份 java 源代码

    总之,使用Java结合Hibernate进行MySQL数据库备份是一种常见的做法,它充分利用了Java的灵活性和Hibernate的便利性,使备份过程更加自动化和可控。开发者可以根据具体需求定制备份策略,实现高效、安全的数据保护。

    mysql-connector-java-5.1.42.jar

    在这个特定的场景中,我们讨论的是"mysql-connector-java-5.1.42.jar",这是一个特定版本的MySQL Java驱动程序,它允许Java应用通过JDBC(Java Database Connectivity)接口与MySQL数据库进行通信。 MySQL ...

    mysql-connector-java-Redhat-CentOS

    总之,"mysql-connector-java-Redhat-CentOS"涵盖了Java开发,MySQL数据库连接,以及在CentOS和Red Hat环境下的系统运维知识。理解和掌握这些技能对于在Linux环境中构建和维护Java应用程序与MySQL数据库的集成至关...

    java备份mysql数据库

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

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

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

    mysql-connector-java-5.0.8 jar包

    MySQL Connector/J 5.0.8 是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够轻松地在Java应用中连接并操作MySQL数据库。这个jar包是...

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

    综上所述,提供的Java代码片段实现了跨平台的MySQL数据库备份功能,结合了操作系统API调用和数据库操作,是学习Java与数据库交互以及系统集成的一个实用示例。对于任何IT专业人员来说,理解和掌握这种技术都是至关...

    mysql数据库备份与恢复

    1. **数据库备份**: - **全量备份**:通常通过执行`mysqldump`命令生成SQL脚本或者直接导出二进制日志文件。在Java中,可以使用`Runtime.getRuntime().exec()`方法执行系统命令来调用`mysqldump`。例如,创建一个...

    MySQL-client-5.6.29-1.linux_glibc2.5.x86_64,MySQL-server-5.6.29-1.linux_glibc

    这个版本的驱动程序兼容JDBC(Java Database Connectivity),使得Java开发者可以方便地在应用中使用MySQL数据库。 `MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm`和`MySQL-client-5.6.29-1.linux_glibc2.5....

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

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

Global site tag (gtag.js) - Google Analytics