import java.io.BufferedReader;
import java.io.BufferedWriter;
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 MySQLDump {
public static boolean sqlDump(String cmd,String filePath){
boolean falg = false;
try {
Runtime run = Runtime.getRuntime();
//cmd 命令:"C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot email"
Process p = run.exec(cmd);
InputStream is = p.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader isr = new InputStreamReader(is,"UTF-8");//设置输入流编码格式
BufferedReader br = new BufferedReader(isr);
//将控制台输入信息写入到文件输出流中
FileOutputStream fos = new FileOutputStream(filePath);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"UTF-8"));
String temp = null;
while( (temp = br.readLine()) !=null){
bw.write(temp);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
falg = true;
System.out.println("/* Dump SQL File "+filePath+" OK! */");
} catch (IOException e) {
throw new RuntimeException("请将mysql命令添加到path中!",e);
}
return falg;
}
//恢复数据库
/**
* 导入
*
*/
public static void sqlLoad(String cmd,String sqlPath) {
try {
Runtime rt = Runtime.getRuntime();
// 调用 mysql 的 cmd: C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email
Process child = rt.exec(cmd);
OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流
//输入流
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(sqlPath), "utf8"));
//输出流
OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
String inStr;
while ((inStr = br.readLine()) != null) {
writer.write(inStr);
writer.write("\r\n");
}
writer.flush();
// 别忘记关闭输入输出流
out.close();
br.close();
writer.close();
System.out.println("/* Load SQL File "+sqlPath+" OK! */");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
sqlDump("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysqldump -uroot -proot email","c:/email.sql");
sqlLoad("C:/Program Files/MySQL/MySQL Server 5.1/bin/mysql.exe -uroot -proot email","c:/email.sql");
}
}
参考网址:http://blog.csdn.net/afgasdg/article/details/6957678
分享到:
相关推荐
而MySQL Connector/J则是MySQL与Java应用程序之间的桥梁,它是一个JDBC(Java Database Connectivity)驱动程序,使得Java开发者能够方便地在Java应用中访问和操作MySQL数据库。本主题主要关注的是`mysql-connector-...
MySQL数据库在进行大量数据操作时,实时同步和备份是非常重要的需求。`mysql-binlog-connector-java` 是一个用于读取 MySQL 二进制日志(binlog)的Java库,它可以帮助开发者实现实时的数据复制、数据同步以及增量...
`mysql-connector-java-5.1.27`是MySQL官方提供的一个JDBC(Java Database Connectivity)驱动包,允许Java开发者通过编写Java代码来执行SQL查询、更新数据库以及管理MySQL数据库的各种操作。 **JDBC驱动类型** ...
MySQL数据库驱动包`mysql-connector-java-5.1.39-SNAPSHOT-bin.jar`是用于Java应用程序连接MySQL数据库的关键组件。在这个特定的版本中,它解决了与Jira 7.2版本配合时可能出现的MySQL 5.7驱动兼容性问题。在本文中...
这个压缩包“mysql-connector-java-5.1.19.jar.zip”包含了该版本的驱动 jar 包,它是将 Java 应用程序与 MySQL 数据库连接的关键组件。 首先,我们需要了解什么是 JDBC。JDBC 是 Sun Microsystems(现已被 Oracle ...
总结来说,`mysql-connector-java-5.1.6-bin.rar`是MySQL数据库与Java应用程序交互的关键组件,通过它,开发者可以编写Java代码实现对MySQL数据库的各种操作,从而构建基于Java的数据库驱动的应用程序。在实际开发中...
Java连接数据库资源,特别是`mysql-connector-java`,这是MySQL官方提供的JDBC驱动程序,用于在Java应用程序中连接到MySQL数据库。Java Database Connectivity (JDBC) 是Java平台的标准接口,用于与各种类型的数据库...
MySQL是世界上最受欢迎的开源数据库系统之一,而`mysql-connector-java-commercial-5.1.36`是一款专为Java应用程序设计的MySQL驱动程序,它允许Java开发者在Java应用中连接和操作MySQL数据库。这个版本是5.1系列的...
在压缩包子文件的文件名称列表中,"mysql-connector-java-3.1.7-bin.jar.bak"看起来像是原始jar文件的一个备份(.bak扩展名通常用于备份文件)。开发者可能出于防止意外丢失或损坏的目的创建了这个备份,如果原始...
总之,使用Java结合Hibernate进行MySQL数据库备份是一种常见的做法,它充分利用了Java的灵活性和Hibernate的便利性,使备份过程更加自动化和可控。开发者可以根据具体需求定制备份策略,实现高效、安全的数据保护。
在这个特定的场景中,我们讨论的是"mysql-connector-java-5.1.42.jar",这是一个特定版本的MySQL Java驱动程序,它允许Java应用通过JDBC(Java Database Connectivity)接口与MySQL数据库进行通信。 MySQL ...
总之,"mysql-connector-java-Redhat-CentOS"涵盖了Java开发,MySQL数据库连接,以及在CentOS和Red Hat环境下的系统运维知识。理解和掌握这些技能对于在Linux环境中构建和维护Java应用程序与MySQL数据库的集成至关...
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
下面将详细介绍如何通过CMD(命令提示符)和Java来使用mysqldump进行MySQL数据库的备份。 ### CMD备份 在Windows系统中,我们通常使用CMD(命令提示符)来执行mysqldump命令。首先,确保MySQL服务器已运行,并且...
MySQL Connector/J 5.0.8 是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够轻松地在Java应用中连接并操作MySQL数据库。这个jar包是...
综上所述,提供的Java代码片段实现了跨平台的MySQL数据库备份功能,结合了操作系统API调用和数据库操作,是学习Java与数据库交互以及系统集成的一个实用示例。对于任何IT专业人员来说,理解和掌握这种技术都是至关...
1. **数据库备份**: - **全量备份**:通常通过执行`mysqldump`命令生成SQL脚本或者直接导出二进制日志文件。在Java中,可以使用`Runtime.getRuntime().exec()`方法执行系统命令来调用`mysqldump`。例如,创建一个...
这个版本的驱动程序兼容JDBC(Java Database Connectivity),使得Java开发者可以方便地在应用中使用MySQL数据库。 `MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm`和`MySQL-client-5.6.29-1.linux_glibc2.5....
本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...