`

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数据库

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

    java备份mysql.docx

    ### Java 实现 MySQL 数据库备份的关键技术点 #### 背景与概述 在数据库管理领域,数据备份是一项至关重要的任务。它确保了在发生数据丢失或系统故障时能够快速恢复到正常状态。本文将详细介绍如何使用 Java 语言...

    java 备份Mysql

    在网上找了好多的MySQL备份,多少都有错误,修改了网上的代码,实际可行的mysql备份。

    Java操作mysql备份

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

    java备份mysql

    根据提供的文件信息,本文将详细解析如何利用Java语言实现MySQL数据库的备份与恢复操作。文章首先介绍MySQL数据库备份的重要性及应用场景,然后详细分析代码逻辑,包括如何设置数据库账户信息、指定备份路径、生成...

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

    接下来,我们来看如何编写Java代码来备份MySQL数据库。这通常涉及到执行`mysqldump`命令,这是一个MySQL提供的工具,可以生成数据库或表的SQL语句。在Java中,我们可以使用`ProcessBuilder`类来执行系统命令。以下是...

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

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

    通过Java代码备份Mysql数据库Demo

    这个“通过Java代码备份Mysql数据库Demo”是一个简单的示例,旨在帮助开发者快速理解和实践这一功能,从而节省学习和调试的时间。 首先,我们需要了解Java中用于连接MySQL数据库的JDBC(Java Database Connectivity...

    使用java自动备份mysql数据库

    在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用 java语言了,只要原理会了...话不多说,下面就来演示一下如何自动备份mysql下的abc数据库:

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

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

    Java实现MySQL数据库备份

    在Java编程环境中,实现MySQL数据库备份通常涉及到操作系统命令行调用和文件操作。这段代码提供了一个名为`MySQLDatabaseBackup`的类,该类包含了将MySQL数据库导出为SQL文件的功能。下面将详细解释这个过程: 1. *...

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

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

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

    "java_mysql_bak.zip"这个压缩包文件似乎提供了一个用Java编写的解决方案,用于对MySQL数据库进行备份。下面我们将深入探讨这个主题。 首先,MySQL的备份是为了防止数据丢失或损坏,它可以通过多种方式来实现,如...

    mysql定时备份器java版

    本软件Mysql定时备份器,目前为beta v1.0版(测试版),基于JAVA编写,运行时需JVM1.5版本以上支持.可以帮助windows环境下的mysql用户实现自动备份功能.分完全备份和增量备份,可立即执行和定期执行.点击'完全备份'和'增量...

    用JAVA导出MYSQL的数据

    `mysqldump`是一个实用程序,它能备份MySQL数据库,生成包含创建数据库、表、视图等对象的SQL语句,以及填充这些对象的数据。在Windows系统中,确保MySQL的环境变量已经配置好,可以通过CMD进入命令行并输入`mysql`...

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

    本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...

    Java备份还原MySQL

    备份MySQL数据库通常涉及到导出SQL脚本或者创建数据库的物理文件。在Java中,我们可以使用`mysqldump`命令行工具,通过`Runtime.getRuntime().exec()`方法来执行系统命令。以下是一个简单的示例: ```java String ...

    mysql 数据库备份 java 源代码

    要进行MySQL数据库备份,我们通常会执行`mysqldump`命令,这是一个用于备份MySQL数据库的实用工具。然而,在Java中,我们可以使用JDBC(Java Database Connectivity)API来模拟这个过程。首先,我们需要创建一个JDBC...

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

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

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

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

Global site tag (gtag.js) - Google Analytics