`
t330guol
  • 浏览: 12866 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java代码实现MySQL数据库的备份与导入

阅读更多
首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin),重启电脑。
完整代码:
 
    public static void main(String[] args) {
     
        backup();

        load();
    }

 
    public static void backup() {
        try {
            Runtime rt = Runtime.getRuntime();

            // 调用 mysql 的 cmd:
            Process child = rt
                    .exec("mysqldump -u root --set-charset=utf8 bjse act_obj");// 设置导出编码为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目标文件:
            FileOutputStream fout = new FileOutputStream(
                    "e:/mysql-5.0.27-win32/bin/bjse22.sql");
            OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
            writer.write(outStr);
            // 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
            writer.flush();

            // 别忘记关闭输入输出流
            in.close();
            xx.close();
            br.close();
            writer.close();
            fout.close();

            System.out.println("");

        } catch (Exception e) {
            e.printStackTrace();
        }

    }

 
    public static void load() {
        try {
            String fPath = "e:/mysql-5.0.27-win32/bin/bjse22.sql";
            Runtime rt = Runtime.getRuntime();

            // 调用 mysql 的 cmd:
            Process child = rt.exec("mysql -u root bjse ");
            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);
            // 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
            writer.flush();
            // 别忘记关闭输入输出流
            out.close();
            br.close();
            writer.close();

            System.out.println("");

        } catch (Exception e) {
            e.printStackTrace();
        }

    }
分享到:
评论

相关推荐

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

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

    Java代码编程实现MySQL数据库的备份与导入

    总结起来,Java代码编程实现MySQL数据库的备份与导入涉及的主要知识点有: 1. 使用Java的Runtime类执行操作系统命令。 2. 对MySQL的`mysqldump`和`mysql`命令的理解和应用。 3. 数据库连接安全性和错误处理策略。 4....

    mysql数据库备份与恢复

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

    java jsp实现mysql备份还原 代码

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

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

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

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

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

    JAVA实现数据库备份与还原

    ### JAVA实现数据库备份与还原 在现代软件开发中,数据安全性和系统稳定性是至关重要的方面。对于使用Java作为主要开发语言的应用程序来说,确保数据库的数据能够得到妥善的备份与恢复是一项基本需求。本文将详细...

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

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

    导入导出mysql数据

    本篇文章将深入探讨如何通过 Java 代码实现 MySQL 数据库的导入与导出操作。 ### MySQL 数据库的导出(备份) #### 原理 MySQL 提供了 `mysqldump` 工具来实现数据库的导出功能,它可以将数据库中的数据和结构转换...

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

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

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

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

    java备份与恢复MYSQL数据库

    下面将详细阐述如何使用Java实现MySQL数据库的备份与恢复。 首先,备份MySQL数据库通常涉及两种主要方式:全量备份和增量备份。全量备份是指备份整个数据库,包括所有的表、索引、用户权限等信息。增量备份则只备份...

    JDBC实现MYSQL数据库迁徙

    本教程将专注于使用Java的JDBC(Java Database Connectivity)接口来实现MySQL数据库之间的迁移,以及分表数据的迁移。 首先,JDBC是Java语言访问数据库的标准API,它允许Java程序与各种数据库进行交互,包括MySQL...

    TXT文件数据导入到mysql数据库

    本主题聚焦于如何将TXT文件中的数据导入到MySQL数据库,这一过程对于数据迁移、数据备份或者数据分析等场景非常实用。首先,我们需要了解TXT文件的格式以及MySQL的数据类型,以便进行有效且准确的数据转换。 TXT...

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

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

    mysql自动备份和自动导入

    以上内容介绍了如何通过Java程序实现MySQL数据库的自动备份和自动导入功能。这种方式不仅能够提高数据安全性,还能减少人工操作带来的错误风险。需要注意的是,在实际应用中还需要考虑异常处理机制,确保程序的健壮...

    golang实现mysql数据库备份的操作方法

    在本文中,我们将深入探讨如何使用Golang实现MySQL数据库的备份操作。首先,我们需要了解为什么要进行数据库备份,特别是在处理视图及其依赖关系时所遇到的问题。Navicat作为一款常用的MySQL可视化工具,虽然强大,...

Global site tag (gtag.js) - Google Analytics