`

使用java备份mysql数据库(转)

阅读更多
基本原理:使用RunTime.exec执行mysql的备份命令“mysqldump”,再把执行结果记录到文件中,在执行下面方法前必须保证 mysqldump命令能用。代码如下:

package com.SpringMvcTest.util.dbAutoBackup;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class BackupMysqlDb {

/**
  * www.itlife365.com
  * 完整备份MySQL的某个数据库
  * mysqldump –h hostname –u username –p password databasename > backupfile.sql
  * 例如:将192.168.102.2服务器上的book数据库备份到192.168.102.3
  * mysqldump -h 192.168.102.2 -u backup -p book >book.sql

  * @author happymen001
  * @version Jun 16, 2010  11:11:25 AM
  * @param hostName
  * @param dataBase
  * @param userName
  * @param passwd
  * @param outFilePath
  * @throws Exception
  * @return void
  */
public static void backupMysqlDatabase(String hostName,String dataBase,String userName,
    String passwd,String outFilePath )throws Exception {
  //组装MySQL的备份命令
  StringBuilder sqlStr = new StringBuilder();
  sqlStr.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();
}
  
/**
  * @author happymen001
  * @version Jun 15, 2010  11:26:46 PM
  * @param args
  * @return void
  */
public static void main(String[] args) {
  // TODO Auto-generated method stub
  BackupMysqlDb  backupMysqlDb = new BackupMysqlDb ();
  String hostName = "127.0.0.1";
  String dataBase = "studentdb";//is
  String userName = "root";
  String passwd = "admin";
  String outFilePath = "D:\\backupmysql.sql";
 
  try {
   backupMysqlDb.backupMysqlDatabase(hostName,dataBase, userName, passwd, outFilePath);
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   System.out.println(" 备份MySQL失败");
  }
  System.out.println(" 备份MySQL 成功");
}

}

参看:http://itlife365.com/?post=43
分享到:
评论

相关推荐

    java备份mysql数据库

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

    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代码来备份MySQL数据库。这通常涉及到执行`mysqldump`命令,这是一个MySQL提供的工具,可以生成数据库或表的SQL语句。在Java中,我们可以使用`ProcessBuilder`类来执行系统命令。以下是...

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

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

    使用java自动备份mysql数据库

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

    java 定时备份数据库

    总之,实现Java定时备份MySQL数据库需要理解如何在Java中调用外部命令,如何创建定时任务,以及如何与Spring等框架集成。在SSM项目中,可以利用Spring的定时任务特性来优雅地管理备份任务。记得在实际应用中处理异常...

    linux和windows上备份Mysql数据库java代码

    3. **CmdUtil.java** - 在Linux和Windows系统中,备份MySQL数据库的常见方式之一是通过执行操作系统命令,比如`mysqldump`。这个类可能包含了运行操作系统命令的函数,使用Java的Runtime或ProcessBuilder类来执行...

    java实现mysql数据库备份

    文档中的代码采用java技术模拟mysql命令实现mysql数据库的备份!

    远程备份MySQL数据库

    "远程备份MySQL数据库" 远程备份MySQL数据库是一种非常重要的数据库管理任务,旨在保护数据库中的数据免受意外损失或篡改的影响。利用sqldump工具,可以轻松地将远程数据库备份到本地,确保数据的安全性和可靠性。 ...

    java备份还原数据库

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

    自动备份数据库java源码

    标题中的“自动备份数据库java源码”指的是使用Java编程语言编写的一种程序,它的主要功能是自动化执行数据库的备份任务。数据库备份是数据保护的重要环节,它可以在数据丢失或系统故障时恢复数据,确保业务连续性。...

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

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

    Java实现MySQL数据库备份

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

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

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

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

    MySQL数据库在日常运维中扮演着至关重要的角色,因此掌握如何进行完整备份、增量备份与还原是每个IT专业人员必备的技能。在这个主题中,我们将深入探讨如何使用Java来实现这些功能。 首先,让我们理解什么是数据库...

    java连接mysql数据库(JDBC驱动).

    ### Java连接MySQL数据库(JDBC驱动) #### 软件下载 - **MySQL**: 版本 4.1.11 下载地址: [http://dev.mysql.com/downloads/mysql/4.1.html](http://dev.mysql.com/downloads/mysql/4.1.html) - **JDBC驱动**: ...

    mysql 数据库备份 java 源代码

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

    jsp备份mysql数据库,用属性文件操作

    在本项目中,我们将探讨如何使用Java的JSP(Java Server Pages)技术来实现对MySQL数据库的备份,并通过属性文件进行配置和操作。这是一个实用且常见的需求,特别是在Web应用程序的开发和维护中。 首先,让我们了解...

Global site tag (gtag.js) - Google Analytics