public static void backupMysqlDatabase(String mysqlBinUrl, String hostName,
String dataBase, String userName, String passwd, String outFilePath)
throws Exception {
// 组装MySQL的备份命令
StringBuilder sqlStr = new StringBuilder();
sqlStr.append(mysqlBinUrl).append("mysqldump -u").append(userName)
.append(" -p").append(passwd).append(" ").append(dataBase);
if (hostName != null && !hostName.equals("")) {
sqlStr.append(" ").append(" -h").append(hostName);
}
// --default-character-set=gb2312
// 调用系统cmd 命令执行备份命令
Runtime rt = Runtime.getRuntime();
Process process = rt.exec(sqlStr.toString());
InputStream in = process.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader isr = new InputStreamReader(in, "utf8");
StringBuilder sb = new StringBuilder("");
String inStr;
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(isr);
while ((inStr = br.readLine()) != null) {
sb.append(inStr).append("\r\n");
}
// 把备份数据写入到文件中
FileOutputStream fout = new FileOutputStream(outFilePath);
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(sb.toString());
writer.flush();
// 写完文件,关闭相应的流
in.close();
isr.close();
br.close();
writer.close();
fout.close();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
BackupDb backupMysqlDb = new BackupDb ();
String hostName = "192.168.1.226";
String dataBase = "iae";//is
String userName = "iaeuser";
String passwd = "iaedata";
String outFilePath = "D:\\backupmysql.sql";
String outFilePath1 = "E:\\backupmysql.sql";
String mysqlBinUrl="C:/Program Files/MySQL/MySQL Server 5.1/bin/";
try {
backupMysqlDb.backupMysqlDatabase(mysqlBinUrl,hostName,dataBase, userName, passwd, outFilePath1);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println(" 备份MySQL失败");
}
System.out.println(" 备份MySQL 成功");
}
分享到:
相关推荐
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
3. **CmdUtil.java** - 在Linux和Windows系统中,备份MySQL数据库的常见方式之一是通过执行操作系统命令,比如`mysqldump`。这个类可能包含了运行操作系统命令的函数,使用Java的Runtime或ProcessBuilder类来执行...
这个“通过Java代码备份Mysql数据库Demo”是一个简单的示例,旨在帮助开发者快速理解和实践这一功能,从而节省学习和调试的时间。 首先,我们需要了解Java中用于连接MySQL数据库的JDBC(Java Database Connectivity...
### Java备份 如果你的项目中已经使用了Java,那么可以通过Java代码调用mysqldump命令来实现自动化备份。首先,需要引入一个能够执行系统命令的库,如Apache Commons Exec。以下是一个简单的示例: ```java import...
在Java中实现数据库备份,可能涉及到以下技术: 1. JDBC(Java Database Connectivity):Java访问数据库的标准接口,通过JDBC驱动与SQL Server建立连接,执行SQL语句进行备份。 2. SQL语句:例如使用`BACKUP ...
本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...
本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...
接下来,我们来看如何编写Java代码来备份MySQL数据库。这通常涉及到执行`mysqldump`命令,这是一个MySQL提供的工具,可以生成数据库或表的SQL语句。在Java中,我们可以使用`ProcessBuilder`类来执行系统命令。以下是...
总结起来,Java代码编程实现MySQL数据库的备份与导入涉及的主要知识点有: 1. 使用Java的Runtime类执行操作系统命令。 2. 对MySQL的`mysqldump`和`mysql`命令的理解和应用。 3. 数据库连接安全性和错误处理策略。 4....
要进行MySQL数据库备份,我们通常会执行`mysqldump`命令,这是一个用于备份MySQL数据库的实用工具。然而,在Java中,我们可以使用JDBC(Java Database Connectivity)API来模拟这个过程。首先,我们需要创建一个JDBC...
### Java JSP 实现 MySQL 数据库备份与还原 #### 知识点概述 本文将详细介绍如何使用 Java Bean 技术配合 JSP 来实现 MySQL 数据库的备份与还原功能。在实际开发过程中,数据库的备份与恢复是非常重要的环节,它...
文档中的代码采用java技术模拟mysql命令实现mysql数据库的备份!
本文将深入探讨如何使用Java来实现这一功能,特别是针对MySQL数据库的备份。结合提供的标题"java实现数据库容灾备份"和描述"可以集成定时任务去实时备份或者定期备份,欢迎一起讨论",我们将详细介绍如何利用Java...
在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用 java语言了,只要原理会了...话不多说,下面就来演示一下如何自动备份mysql下的abc数据库:
在Java编程环境中,实现MySQL数据库备份通常涉及到操作系统命令行调用和文件操作。这段代码提供了一个名为`MySQLDatabaseBackup`的类,该类包含了将MySQL数据库导出为SQL文件的功能。下面将详细解释这个过程: 1. *...
总之,实现Java定时备份MySQL数据库需要理解如何在Java中调用外部命令,如何创建定时任务,以及如何与Spring等框架集成。在SSM项目中,可以利用Spring的定时任务特性来优雅地管理备份任务。记得在实际应用中处理异常...
"远程备份MySQL数据库" 远程备份MySQL数据库是一种非常重要的数据库管理任务,旨在保护数据库中的数据免受意外损失或篡改的影响。利用sqldump工具,可以轻松地将远程数据库备份到本地,确保数据的安全性和可靠性。 ...
首先,备份MySQL数据库通常涉及两种主要方式:全量备份和增量备份。全量备份是指备份整个数据库,包括所有的表、索引、用户权限等信息。增量备份则只备份自上次备份以来发生改变的数据,这样可以节省存储空间。Java...
在本项目中,我们将探讨如何使用Java的JSP(Java Server Pages)技术来实现对MySQL数据库的备份,并通过属性文件进行配置和操作。这是一个实用且常见的需求,特别是在Web应用程序的开发和维护中。 首先,让我们了解...