`
jiagyao
  • 浏览: 99318 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java实现MySQL数据库的备份与还原

阅读更多
ackage com.tarena.lz.test;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class Test4 {        
        
         public static void main(String[] args) { 
                /*                 
                * 备份:程序调用mysql的备份命令,读出控制台输入流信息,写入.sql文件; 
                * 导入:程序调用mysql的导入命令,把从.sql文件中读出的信息写入控制台的输出流                 
                */ 
                backup();   //数据库备份
                load();     //数据库还原
            } 
           
            public static void backup() { 
                try { 
                    Runtime rt = Runtime.getRuntime(); 
                    // 调用 mysql 的 cmd: 
                    Process child = rt .exec("mysqldump -u root -p123 test");
                           // 设置导出编码为utf8。这里必须是utf8       
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份件。                    
InputStream in = child.getInputStream();// 控制台的输出信息作为输入流                      
InputStreamReader xx = new InputStreamReader(in, "utf8");// 设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码 
                    String inStr; 
                    StringBuffer sb = new StringBuffer(""); 
                    String outStr; 
                    // 组合控制台输出信息字符串 
                    BufferedReader br = new BufferedReader(xx); 
                    while ((inStr = br.readLine()) != null) { 
                        sb.append(inStr + "\r\n"); 
                    } 
                    outStr = sb.toString(); 
                              // 要用来做导入用的sql目标文件E:\\test5.sql                  FileOutputStream fout=new FileOutputStream( "E:\\test5.sql"); 
                 OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8"); 
                    writer.write(outStr);          
                    writer.flush(); 
                    //关闭输入输出流 
                    in.close(); 
                    xx.close(); 
                    br.close(); 
                    writer.close(); 
                    fout.close(); 
                    System.out.println("/* Output OK! */"); 
                } catch (Exception e) { 
                    e.printStackTrace(); 
                } 
            } 
            /** 
            * 导入 ,需要先建立好目标数据库。
            * 
            */ 
            public static void load() { 
                try { 
                  
                        String fPath = "e:/test5.sql";
                Runtime rt = Runtime.getRuntime(); 
                    // 调用 mysql 的 cmd: 
                Process child = rt.exec("mysql -u root -p123  lzz"); 
                OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流 
                String inStr; 
                StringBuffer sb = new StringBuffer(""); 
                String outStr; 
             BufferedReader br=new BufferedReader(new InputStreamReader( new FileInputStream(fPath), "utf8")); 
                    while ((inStr = br.readLine()) != null) { 
                        sb.append(inStr + "\r\n"); 
                    } 
                    outStr = sb.toString(); 
                    OutputStreamWriter writer = new OutputStreamWriter(out, "utf8"); 
                    writer.write(outStr); 
                            writer.flush(); 
                    // 别忘记关闭输入输出流 
                    out.close(); 
                    br.close(); 
                    writer.close(); 
                    System.out.println("/* Load OK! */"); 
                } catch (Exception e) { 
                    e.printStackTrace(); 
                } 
            } 


分享到:
评论

相关推荐

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

    在Java中实现MySQL数据库备份,主要涉及到以下几个步骤: 1. **连接MySQL**:使用JDBC(Java Database Connectivity)驱动,建立与MySQL服务器的连接。你需要在项目中添加MySQL JDBC驱动的jar包(如`mysql-...

    JAVA实现数据库备份与还原

    本文将详细讲解如何使用Java实现基于MySQL数据库的备份与还原操作。 首先,我们了解到数据库备份通常有两种主要的方式:一是使用数据库管理工具(如MySQL的Workbench),二是通过编程方式执行。在Java中,我们可以...

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

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

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

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

    mysql数据库备份与恢复

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

    java实现数据库容灾备份

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

    java jsp实现mysql备份还原 代码

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

    数据库备份及还原Java源码

    这里我们讨论的“数据库备份及还原Java源码”是一个基于Swing开发的客户端程序,专用于MySQL数据库的备份和恢复操作。下面我们将深入探讨相关知识点。 1. **数据库备份**: - **全量备份**:备份整个数据库,包括...

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

    ### JAVA实现数据库备份与还原的关键知识点 #### 一、引言 随着信息技术的发展,数据库作为存储数据的核心组件,在各类业务场景中发挥着至关重要的作用。为了确保数据的安全性与完整性,定期进行数据库备份是非常...

    mysql数据库数据备份与还原源代码

    本项目提供了一个基于Java Servlet(jsp)的MySQL数据库数据备份与还原的源代码,帮助用户轻松地完成这一任务。 首先,我们要理解数据库备份的重要性。在日常操作中,由于硬件故障、软件错误、恶意攻击或意外删除等...

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

    本文将详细介绍如何使用Java实现MySQL数据库的备份与还原,主要涉及以下知识点: 1. **使用数据库自带工具**: MySQL提供了`mysqldump`和`mysql`客户端工具进行数据备份和还原。`mysqldump`用于生成SQL脚本,包含...

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

    本文将详细讲解如何使用Java来实现MySQL数据库的备份与恢复功能,以及相关的关键知识点。 首先,我们需要理解数据库备份的基本原理。备份是为了防止数据丢失,通常包括全量备份和增量备份。全量备份是指复制整个...

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

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

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

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

    Java实现SqlServer及MySql的备份与还原

    Java 实现 SqlServer 及 MySql 的备份与还原 Java 实现 SqlServer 及 MySql 的备份与还原是通过使用 Java 语言来实现数据库的备份和还原操作。本文将介绍如何使用 Java 语言来实现 SqlServer 及 MySql 的备份与还原...

    mysql数据库备份还原实战操作步骤-mysqldump备份还原

    MySQL 数据库备份还原实战操作步骤 - mysqldump 备份还原 在本文中,我们将介绍 MySQL 数据库备份还原实战操作步骤,包括使用 mysqldump 工具进行备份和恢复数据库的详细指令。 一、备份数据库 mysqldump 是 ...

Global site tag (gtag.js) - Google Analytics