Home > Database > Mysql Tutorial > body text

Java实现MySQL数据库备份

WBOY
Release: 2016-06-07 16:45:02
Original
1076 people have browsed it

利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份:

利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份:

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;

/**
 * MySQL数据库备份
 *
 * @author GaoHuanjie
 */
public class MySQLDatabaseBackup {

 /**
  * Java代码实现MySQL数据库导出
  *
  * @author GaoHuanjie
  * @param hostIP MySQL数据库所在服务器地址IP
  * @param userName 进入数据库所需要的用户名
  * @param userName 进入数据库所需要的用户名
  * @param password 进入数据库所需要的密码
  * @param savePath 数据库导出文件保存路径
  * @param fileName 数据库导出文件文件名
  * @param databaseName 要导出的数据库名
  * @return 返回true表示导出成功,,否则返回false。
  */
 public static boolean exportDatabaseTool(String hostIP, String userName, String password, String savePath, String fileName, String databaseName) throws InterruptedException {
  File saveFile = new File(savePath);
  if (!saveFile.exists()) {// 如果目录不存在
   saveFile.mkdirs();// 创建文件夹
  }
  if(!savePath.endsWith(File.separator)){
   savePath = savePath + File.separator;
  }
 
  PrintWriter printWriter = null;
  BufferedReader bufferedReader = null;
  try {
   printWriter = new PrintWriter(new OutputStreamWriter(new FileOutputStream(savePath + fileName), "utf8"));
   Process process = Runtime.getRuntime().exec(" mysqldump -h" + hostIP + " -u" + userName + " -p" + password + " --set-charset=UTF8 " + databaseName);
   InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), "utf8");
   bufferedReader = new BufferedReader(inputStreamReader);
            String line;
            while((line = bufferedReader.readLine())!= null){
             printWriter.println(line);
            }
            printWriter.flush();
   if(process.waitFor() == 0){//0 表示线程正常终止。
    return true;
   }
  }catch (IOException e) {
   e.printStackTrace();
  } finally {
   try {
    if (bufferedReader != null) {
     bufferedReader.close();
    }
    if (printWriter != null) {
     printWriter.close();
    }
   } catch (IOException e) {
    e.printStackTrace();
   }
  }
  return false;
 }
 
 public static void main(String[] args){
  try {
   if (exportDatabaseTool("172.16.0.127", "root", "123456", "D:/backupDatabase", "2014-10-14.sql", "test")) {
    System.out.println("数据库成功备份!!!");
   } else {
    System.out.println("数据库备份失败!!!");
   }
  } catch (InterruptedException e) {
   e.printStackTrace();
  }
 }
}

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

Java代码实现MySQL数据库的备份与导入

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

linux

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template