权声明:本文为博主原创文章,未经博主允许不得转载。

博客《Java实现MySQL数据库备份(一)》使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MySQL数据库的方法:

  1. import java.io.File;
  2. import java.io.IOException;
  3. /**
  4. * MySQL数据库备份
  5. *
  6. * @author GaoHuanjie
  7. */
  8. public class MySQLDatabaseBackup {
  9. /**
  10. * Java代码实现MySQL数据库导出
  11. *
  12. * @author GaoHuanjie
  13. * @param hostIP MySQL数据库所在服务器地址IP
  14. * @param userName 进入数据库所需要的用户名
  15. * @param password 进入数据库所需要的密码
  16. * @param savePath 数据库导出文件保存路径
  17. * @param fileName 数据库导出文件文件名
  18. * @param databaseName 要导出的数据库名
  19. * @return 返回true表示导出成功,否则返回false。
  20. */
  21. public static boolean exportDatabaseTool(String hostIP, String userName, String password, String savePath, String fileName, String databaseName) {
  22. File saveFile = new File(savePath);
  23. if (!saveFile.exists()) {// 如果目录不存在
  24. saveFile.mkdirs();// 创建文件夹
  25. }
  26. if (!savePath.endsWith(File.separator)) {
  27. savePath = savePath + File.separator;
  28. }
  29. StringBuilder stringBuilder = new StringBuilder();
  30. stringBuilder.append("mysqldump").append(" --opt").append(" -h").append(hostIP);
  31. stringBuilder.append(" --user=").append(userName) .append(" --password=").append(password).append(" --lock-all-tables=true");
  32. stringBuilder.append(" --result-file=").append(savePath + fileName).append(" --default-character-set=utf8 ").append(databaseName);
  33. try {
  34. Process process = Runtime.getRuntime().exec(stringBuilder.toString());
  35. if (process.waitFor() == 0) {// 0 表示线程正常终止。
  36. return true;
  37. }
  38. } catch (IOException e) {
  39. e.printStackTrace();
  40. } catch (InterruptedException e) {
  41. e.printStackTrace();
  42. }
  43. return false;
  44. }
  45. public static void main(String[] args) throws InterruptedException {
  46. if (exportDatabaseTool("172.16.0.127", "root", "123456", "D:/backupDatabase", "2014-10-14.sql", "test")) {
  47. System.out.println("数据库备份成功!!!");
  48. } else {
  49. System.out.println("数据库备份失败!!!");
  50. }
  51. }
  52. }

Java实现MySQL数据库备份(二)的更多相关文章

  1. Java实现mysql数据库备份

    Runtime是一个与JVM运行时环境有关的类,这个类是Singleton的. Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法. ...

  2. Java达到MySQL数据库备份(两)

    博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这样的方法比較繁杂.以下介绍还有一种备份MySQL数据库的方法: import java.io ...

  3. Java实现MySQL数据库备份(一)

    下班了,利用闲暇时间总结一下如何使用Java语言实现MySQL数据库备份: import java.io.BufferedReader; import java.io.File; import jav ...

  4. java 实现mysql数据库备份

    package com.itenp.gen.action; import java.io.BufferedReader; import java.io.FileInputStream; import ...

  5. JSP 实现 之 调用java方法实现MySQL数据库备份和恢复

    package cn.qm.db; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.IOEx ...

  6. Java进阶(二十五)Java连接mysql数据库(底层实现)

    Java进阶(二十五)Java连接mysql数据库(底层实现) 前言 很长时间没有系统的使用java做项目了.现在需要使用java完成一个实验,其中涉及到java连接数据库.让自己来写,记忆中已无从搜 ...

  7. Windows下MySQL数据库备份脚本(二)

    说明: MySQL数据库安装目录:C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库存放目录:C:\Program Files\MySQL\MySQL S ...

  8. Java连接mysql数据库攻略

    一. 软件下载 Mysql 下载版本:4.1.11 http://dev.mysql.com/downloads/mysql/4.1.html JDBC驱动 下载版本:3.1.8 http://dev ...

  9. Mysql数据库备份和还原常用的命令

    Mysql数据库备份和还原常用的命令是进行Mysql数据库备份和还原的关键,没有命令,什么都无从做起,更谈不上什么备份还原,只有给系统这个命令,让它去执行,才能完成Mysql数据库备份和还原的操作,下 ...

随机推荐

  1. javascript数据结构-数组

    github博客地址 简介 数组是最简单的数据结构,javascript语言也很早就原声支持了数组Array数据类型,和其他语言略微不同的是:js中的数组可以存储不同类型的值,看起来很厉害的样子,但是 ...

  2. 记录一下git 的常用命令

    以后如果要写一个东西,最好先搭建一个本地仓库,用版本控制对其进行操作,可能一开始有一些麻烦,但是很有可能会受益无穷. 说到git,必然会和github联系起来. 不管是在ubuntu里面还是在Wind ...

  3. mysql开启远程连接

    修改my.ini 去掉 bind-address 127.0.0.1 或添加 bind-address 0.0.0.0 mysql -u root -p 进入mysql,执行 '; 然后 flush ...

  4. redis集群之REDIS CLUSTER

    redis集群之REDIS CLUSTER 时间 2016-04-11 17:05:00  NoSQL_博客园 原文  http://www.cnblogs.com/zhanchenjin/p/537 ...

  5. WIN7下VS2008生成Detours3.0

    Detours是微软开发的一个函数库,可用于捕获系统API.在用其进行程序开发之前,得做一些准备工作: 一.下载Detours       在http://research.microsoft.com ...

  6. Python: Win7下使用 pip install lxml 无法安装lxml?

    1.在网址 http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml 下,搜索lxml,下载Python对应的lxml版本.如下图: 2.打开cmd,进入到lxm ...

  7. laravel 输出sql

    $queries = DB::getQueryLog(); $a = end($queries); $tmp = str_replace('?', '"'.'%s'.'"', $a ...

  8. POJ 3155 Hard Life(最大密度子图)

    裸题.输入一个无向图,输出最大密度子图(输出子图结点数和升序编号). 看了<最小割模型在信息学竞赛中的应用——胡伯涛>的一部分,感觉01分数规划问题又是个大坑.暂时还看不懂. 参考http ...

  9. (分享) git详解

    今天学了下git  http://blog.jobbole.com/78960/   他写的超级好的 之前也弄过,在eclipse上有个关于github的一个插件,可以通过github的仓库地址把ec ...

  10. NYOJ题目28大数阶乘

    -------------------------------------祭出BigInteger AC代码: import java.math.BigInteger; import java.uti ...