`
xiao_feng68
  • 浏览: 104288 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

程序备份、还原mysql数据库

阅读更多
首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin)
   
备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra
edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何)
    public String backup() {
        try {
            Runtime rt = Runtime.getRuntime();
            // 调用 mysql 的 cmd:

            // 设置导出编码为utf8。这里必须是utf8,最好是度进来的
            Process child = rt.exec("mysqldump -u root -p1234 --set-charset=utf8  dbname");
           // 把进程执行中的控制台输出信息写入.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("数据库文件.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("/* 备份数据库成功 OK! */");
         } catch (Exception e) {
            e.printStackTrace();
       }
    }
   
    /**
     * 导入
     *
     */
    public String load() {
        try {
            String fPath = "数据库文件路径";
            Runtime rt = Runtime.getRuntime();
            // 调用 mysql 的 cmd:
            Process child = rt.exec("mysql -u root -p1234 dbname ");
            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("/* Load OK! */");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
分享到:
评论

相关推荐

    C# 备份还原mysql数据库示例工具

    总的来说,"C# 备份还原mysql数据库示例工具"结合了C# Winform的图形化能力与MySQL数据库的强大功能,提供了一个实用的解决方案,对于学习数据库管理和C#编程的初学者来说,这是一个很好的实践项目。通过深入理解并...

    C#备份还原mysql数据库

    总结一下,C#中备份和还原MySQL数据库主要涉及以下步骤: 1. 使用`mysqldump`生成数据库备份文件。 2. 在C#代码中执行系统命令以运行`mysqldump`。 3. 如果需要,可以使用`MySqlBulkLoader`或逐行执行SQL语句的方式...

    c#备份还原MySql数据库

    本篇文章将深入探讨如何使用C#来实现MySQL数据库的备份与还原功能。 首先,要进行MySQL数据库的备份,我们需要使用MySQL的命令行工具或通过API调用相关的SQL语句。在C#中,我们可以使用`MySqlCommand`类来执行这些...

    C#实现备份、还原MySql数据库

    要备份MySQL数据库,我们需要执行SQL的`mysqldump`命令,这是一个用于创建数据库备份的实用程序。在C#中,我们可以通过`Process`类来调用这个命令行工具。 以下是一个简单的C#代码示例,展示如何执行`mysqldump`...

    PHP备份和还原MySQL数据库代码

    综上所述,PHP备份和还原MySQL数据库涉及的主要知识点包括: 1. 使用`mysqldump`命令行工具。 2. 在PHP中执行系统命令,如`shell_exec()`。 3. PHP连接MySQL数据库,使用`mysqli_connect()`或`PDO`。 4. 读取和执行...

    delphi备份和还原MySql数据库.zip

    在描述中提到的"delphi备份和还原MySql数据库.zip"源码,就是一个具体的实例,演示了如何在Delphi中实现对MySQL数据库的备份与恢复功能。 首先,我们需要理解备份和还原的基本概念。数据库备份是将数据库中的所有...

    C# MySQL数据库备份还原

    C# MySQL数据库备份还原 C# MySQL数据库批量备份还原工具是使用C#语言开发的一个数据库备份还原工具,主要用于对MySQL数据库进行批量备份和还原操作。该工具使用了Process类来操作cmd.exe,调用mysqldump.exe来执行...

    通过Data文件夹备份和还原实现Mysql数据库的备份以及还原

    本文将详细讲解如何通过Data文件夹备份和还原实现MySQL数据库的备份及恢复,这是一种简单直接的方法,尤其适合小型数据库或者开发测试环境。 首先,我们需要理解MySQL的数据存储结构。MySQL数据库的数据文件主要...

    C#实现MySQL数据库的备份、还原和初始化

    本文将详细介绍如何使用C#来实现MySQL数据库的初始化、备份和还原功能。 首先,数据库的初始化通常指的是创建一个新的数据库。在C#中,你可以通过执行SQL语句来完成这一过程。在给出的代码示例中,`GetExecute`方法...

    MySQL数据库备份和恢复

    ### MySQL数据库备份与恢复:深度解析与实践指南 在当今数据驱动的世界中,数据库的稳定性和数据的安全性显得尤为重要。MySQL作为全球最流行的开源关系型数据库管理系统之一,其备份和恢复策略是确保数据安全和系统...

    nbu&mysql备份恢复.docx

    NBU&MySQL备份恢复 NBU(NetBackup)是一款功能强大的备份恢复软件,而MySQL是一款流行的关系型数据库...本文详细介绍了NBU备份mysql数据库的步骤和配置过程,旨在帮助用户快速了解和掌握NBU备份mysql数据库的技术。

    PHP备份还原MYSQL数据库的代码,简单、易用.rar

    解压密码:liehuo.net 一个非常好的PHP备份还原MYSQL数据库的小程序,简单、易用程序就三个页面: backup.php—备份 mydb.php—数据库类 restore.php–还原

    php分卷备份还原mysql数据库.pdf

    《PHP分卷备份与还原MySQL数据库》 在PHP开发中,数据库管理是不可或缺的一部分,而对MySQL数据库进行备份和恢复是保障数据安全的重要操作。本文将深入探讨如何使用PHP实现MySQL数据库的分卷备份和还原。 首先,让...

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

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

    如何使用 MySQL Administrator 管理备份还原 My SQL 数据库

    MySQL Administrator 数据库备份和还原管理 MySQL Administrator 是一种功能强大且易于使用的数据库管理工具,能够帮助用户轻松地管理 MySQL 数据库。其中,备份和还原是 MySQL Administrator 的两个重要功能,本文...

    mysql数据库备份还原类.rar

    本压缩包"mysql数据库备份还原类.rar"提供了两个PHP类文件,dbback.class.php和upfile.class.php,它们可能用于实现MySQL数据库的自动备份和恢复功能。 1. **数据库备份**: - 备份原理:通常,MySQL数据库的备份...

    mysql备份还原

    MySQL 备份还原是数据库管理中非常重要的一步骤,能够确保数据库的安全和可靠性。下面我们将详细介绍 MySQL 备份还原的步骤和注意事项。 什么是 MySQL 备份还原? MySQL 备份还原是指将数据库中的数据备份到外部...

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

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

    Mysql数据库备份还原工具

    "Mysql数据库备份还原工具"就是这样一个实用程序,它简化了MySQL数据库的备份和恢复过程。 首先,让我们详细了解MySQL数据库备份的重要性。数据库备份是为了防止数据丢失,这可能由于硬件故障、软件错误、人为操作...

    易语言MYSQL数据库备份还原器

    《易语言MYSQL数据库备份还原器》是一款专为易语言编程环境设计的实用工具,它能够帮助用户方便地对MYSQL数据库进行备份与恢复操作。这款软件的核心功能包括数据库的备份和还原,以及目录复制,旨在提高数据库管理的...

Global site tag (gtag.js) - Google Analytics