注意:
1.必须把mysql bin目录加入到环境变量中,否则无法使用mysql的mysqldump命令
2.我程序中的EXE 命令其实是mysql安装bin目录中的mysqldump.exe文件,这个文件放在哪里没关系,但是路径中一定要有mysqldump.exe这个文件
public static final String USER = "root"; // 数据库帐号
public static final String PASS = "123"; // 登陆密码
public static final String DATABASE = "db_stusys"; // 需要备份的数据库名
public static final String FILEPATH = "f:\\db_stusys.sql"; // 备份的路径地址
public static final String HOST = "127.0.0.1"; // 备份的路径地址
public static final String EXE = "f:/mysqldump "; // mysqlb备份命令
/**
* 备份数据库
* @author:qiuchen
* @createTime:2012-6-26
*/
public static void dumpDb(){
//备份文件又命令创建
File file = new File(FILEPATH);
if(file.exists()){
file.delete();
}
//拼接备份命令
StringBuffer sb = new StringBuffer();
sb.append(EXE);
sb.append(DATABASE);
sb.append(" -h" + HOST);
sb.append(" -u" + USER);
sb.append(" -p" + PASS);
sb.append(" --set-charset=utf8");
sb.append(" --result-file="+FILEPATH);
try {
Process p = Runtime.getRuntime().exec(sb.toString());
// 获取进程的错误流
final InputStream is1 = p.getErrorStream();
// 获取进程的标准输入流
final InputStream is2 = p.getInputStream();
// 启动两个线程,一个线程负责读标准输出流,另一个负责读标准错误流
new Thread() {
public void run() {
BufferedReader br1 = new BufferedReader(
new InputStreamReader(is1));
try {
String line1 = null;
while ((line1 = br1.readLine()) != null) {
if (line1 != null) {
}
}
} catch (IOException e) {
try {
is1.close();
} catch (IOException e1) {
}
} finally {
try {
is1.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
new Thread() {
public void run() {
BufferedReader br2 = new BufferedReader(
new InputStreamReader(is2));
try {
String line2 = null;
StringBuffer stringBuffer = new StringBuffer();
while ((line2 = br2.readLine()) != null) {
if (line2 != null) {
System.out.println(line2);
stringBuffer.append(line2);
}
}
} catch (IOException e) {
try {
is2.close();
} catch (IOException e1) {
}
} finally {
try {
is2.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}.start();
int i = p.waitFor();
if(i==0){
System.out.println("备份成功!");
}
p.destroy();
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
分享到:
相关推荐
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
### Java备份 如果你的项目中已经使用了Java,那么可以通过Java代码调用mysqldump命令来实现自动化备份。首先,需要引入一个能够执行系统命令的库,如Apache Commons Exec。以下是一个简单的示例: ```java import...
这个“通过Java代码备份Mysql数据库Demo”是一个简单的示例,旨在帮助开发者快速理解和实践这一功能,从而节省学习和调试的时间。 首先,我们需要了解Java中用于连接MySQL数据库的JDBC(Java Database Connectivity...
在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用 java语言了,只要原理会了...话不多说,下面就来演示一下如何自动备份mysql下的abc数据库:
总之,实现Java定时备份MySQL数据库需要理解如何在Java中调用外部命令,如何创建定时任务,以及如何与Spring等框架集成。在SSM项目中,可以利用Spring的定时任务特性来优雅地管理备份任务。记得在实际应用中处理异常...
接下来,我们来看如何编写Java代码来备份MySQL数据库。这通常涉及到执行`mysqldump`命令,这是一个MySQL提供的工具,可以生成数据库或表的SQL语句。在Java中,我们可以使用`ProcessBuilder`类来执行系统命令。以下是...
本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...
3. **CmdUtil.java** - 在Linux和Windows系统中,备份MySQL数据库的常见方式之一是通过执行操作系统命令,比如`mysqldump`。这个类可能包含了运行操作系统命令的函数,使用Java的Runtime或ProcessBuilder类来执行...
标题中的“自动备份数据库java源码”指的是使用Java编程语言编写的一种程序,它的主要功能是自动化执行数据库的备份任务。数据库备份是数据保护的重要环节,它可以在数据丢失或系统故障时恢复数据,确保业务连续性。...
本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...
"远程备份MySQL数据库" 远程备份MySQL数据库是一种非常重要的数据库管理任务,旨在保护数据库中的数据免受意外损失或篡改的影响。利用sqldump工具,可以轻松地将远程数据库备份到本地,确保数据的安全性和可靠性。 ...
在本项目中,我们将探讨如何使用Java的JSP(Java Server Pages)技术来实现对MySQL数据库的备份,并通过属性文件进行配置和操作。这是一个实用且常见的需求,特别是在Web应用程序的开发和维护中。 首先,让我们了解...
总的来说,Java备份和还原数据库涉及到JDBC连接、操作系统命令调用、SQL语句执行等多个方面。了解并掌握这些技术,对于确保数据安全和业务连续性至关重要。同时,根据实际场景选择合适的备份策略,是每个IT专业人员...
Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。
文档中的代码采用java技术模拟mysql命令实现mysql数据库的备份!
在Java编程环境中,实现MySQL数据库备份通常涉及到操作系统命令行调用和文件操作。这段代码提供了一个名为`MySQLDatabaseBackup`的类,该类包含了将MySQL数据库导出为SQL文件的功能。下面将详细解释这个过程: 1. *...
要进行MySQL数据库备份,我们通常会执行`mysqldump`命令,这是一个用于备份MySQL数据库的实用工具。然而,在Java中,我们可以使用JDBC(Java Database Connectivity)API来模拟这个过程。首先,我们需要创建一个JDBC...
MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...
本文将详细介绍如何使用Java进行手动备份MySQL数据库。 首先,我们需要了解Java中用于数据库操作的API,JDBC(Java Database Connectivity)是Java连接数据库的标准接口。要备份MySQL数据库,我们需要使用JDBC驱动...