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

java备份和恢复mysql

阅读更多
import java.io.BufferedReader;
import java.io.File;
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 Test {
    public static void main(String[] args) throws IOException{
        backup("d:\\\\d.sql");
        recover("d:\\\\d.sql");
    }
    public static void backup(String path) throws IOException{
        Runtime runtime = Runtime.getRuntime();
        //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字
        Process process = runtime.exec("mysqldump -u root -p123456 family");
        InputStream inputStream = process.getInputStream();//得到输入流,写成.sql文件
        InputStreamReader reader = new InputStreamReader(inputStream);
        BufferedReader br = new BufferedReader(reader);
        String s = null;
        StringBuffer sb = new StringBuffer();
        while((s = br.readLine()) != null){
            sb.append(s+"\\r\\n");
        }
        s = sb.toString();
        System.out.println(s);
        File file = new File(path);
        file.getParentFile().mkdirs();
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        fileOutputStream.write(s.getBytes());
        fileOutputStream.close();
        br.close();
        reader.close();
        inputStream.close();
    }
    public static void recover(String path) throws IOException{
        Runtime runtime = Runtime.getRuntime();
        //-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字,--default-character-set=utf8,这句话一定的加
        //我就是因为这句话没加导致程序运行成功,但是数据库里面的内容还是以前的内容,最好写上完成的sql放到cmd中一运行才知道报错了
        //错误信息:
        //mysql: Character set 'utf-8' is not a compiled character set and is not specified in the '
        //C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\Index.xml' file ERROR 2019 (HY000): Can't
        // initialize character set utf-8 (path: C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\),
        //又是讨人厌的编码问题,在恢复的时候设置一下默认的编码就可以了。
        Process process = runtime.exec("mysql -u root -p123456 --default-character-set=utf8 family");
        OutputStream outputStream = process.getOutputStream();
        BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
        String str = null;
        StringBuffer sb = new StringBuffer();
        while((str = br.readLine()) != null){
            sb.append(str+"\\r\\n");
        }
        str = sb.toString();
        System.out.println(str);
        OutputStreamWriter writer = new OutputStreamWriter(outputStream,"utf-8");
        writer.write(str);
        writer.flush();
        outputStream.close();
        br.close();
        writer.close();
    }
}
分享到:
评论

相关推荐

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

    在提供的压缩包`mysql_bak`中,可能包含了上述的Java源码和相关说明,你可以参考这些代码来理解和实现自己的数据库备份恢复功能。记得在使用这些代码前,要根据你的环境配置进行适当的修改,确保安全性和正确性。 ...

    java备份与恢复MYSQL数据库

    Java作为跨平台的编程语言,提供了丰富的API和库来操作数据库,包括进行数据库的备份与恢复。下面将详细阐述如何使用Java实现MySQL数据库的备份与恢复。 首先,备份MySQL数据库通常涉及两种主要方式:全量备份和...

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

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

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

    ### Java备份 如果你的项目中已经使用了Java,那么可以通过Java代码调用mysqldump命令来实现自动化备份。首先,需要引入一个能够执行系统命令的库,如Apache Commons Exec。以下是一个简单的示例: ```java import...

    java备份mysql数据库

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

    mysql数据库备份与恢复

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

    Java操作mysql备份

    以下是一个简单的Java备份MySQL数据库的步骤: 1. 引入JDBC驱动:首先需要在项目中添加MySQL的JDBC驱动依赖,以便Java程序可以连接到MySQL服务器。 2. 创建数据库连接:使用`DriverManager.getConnection()`方法,...

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

    总结来说,Java实现MySQL的完整和增量备份与还原涉及使用`mysqldump`和`mysql`命令,以及对二进制日志的理解。在实际操作中,应根据业务规模和需求选择合适的备份策略,并确保备份过程的安全性和有效性。

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

    在IT行业中,数据库管理是至关重要的任务之一,其中包括定期备份和恢复操作。本文将深入探讨如何使用Java语言来实现MySQL数据库...通过分析和理解这些代码,你将能够更好地掌握Java实现MySQL备份与还原的具体实现细节。

    java 实现mysql 的备份与恢复,全部代码

    java 实现mysql 的备份与恢复,全部代码

    用Java实现MySQL的备份与恢复

    恢复MySQL数据库的过程与备份过程类似,但需要使用不同的工具和命令。在本节中,我们将讨论如何使用Java来恢复MySQL数据库。 1. **恢复命令**:使用`mysql`命令来恢复数据库,该命令可以读取SQL脚本文件并执行其中...

    mysql 数据库备份 java 源代码

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

    Java备份还原MySQL

    总结来说,使用Java备份和还原MySQL数据库主要涉及以下几个步骤: 1. 引入MySQL JDBC驱动。 2. 使用`Runtime.getRuntime().exec()`执行`mysqldump`进行备份。 3. 存储备份文件。 4. 使用`Runtime.getRuntime().exec...

    java备份还原数据库

    总的来说,Java备份和还原数据库涉及到JDBC连接、操作系统命令调用、SQL语句执行等多个方面。了解并掌握这些技术,对于确保数据安全和业务连续性至关重要。同时,根据实际场景选择合适的备份策略,是每个IT专业人员...

    java备份mysql

    恢复类同样继承自Thread类,用于恢复MySQL数据库。其核心逻辑如下: 1. **设置参数**:包括数据库账号(`user`)、密码(`password`)、需要恢复的数据库名称(`database`)以及备份文件的存储路径(`filepath`)。...

    java_mysql_bak.zip_mysql 备份_备份_备份mysql

    在IT行业中,数据库管理是至关重要的任务之一,而MySQL作为广泛应用的关系型数据库管理系统,其数据安全性和可恢复性显得尤为关键。"java_mysql_bak.zip"这个压缩包文件似乎提供了一个用Java编写的解决方案,用于对...

    java数据库备份与恢复小例子(DAO)

    在Java编程中,数据库的备份与恢复是至关重要的任务,特别是在企业级应用中,数据的安全性和完整性至关重要。这个"java数据库备份与恢复小例子(DAO)"是一个实用的示例,它展示了如何利用DAO(Data Access Object)...

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

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

    java mysql备份与恢复

    文件中包含两种备份恢复的方法,一种是用Runtime.getRuntime().exec方法来实现的,另一种方法是使用Apache的command-exec中的方法来实现的。个人使用的是第二种方法

    使用Java备份还原MySQL

    以上就是使用Java备份和还原MySQL数据库的基本步骤和相关知识。在实际项目中,根据需求可能还需要实现更多功能,如日志记录、异常处理、进度监控等。理解这些原理和实践方法对于任何Java开发者在维护数据库系统时都...

Global site tag (gtag.js) - Google Analytics