Runtime是一个与JVM运行时环境有关的类,这个类是Singleton的。
Runtime.getRuntime()可以取得当前JVM的运行时环境,这也是在Java中唯一一个得到运行时环境的方法。
Runtime.exec()
public Process exec(String[] cmdarray) throws IOException
这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数。

Runtime.getRuntime().exec()在不同环境下的使用方法:
//Windows XP, Windows 2000
Runtime.getRuntime().exec(new String[] {"cmd /c command"})
//Windows 98
Runtime.getRuntime().exec(new String[] {"command /c command"})
//Linux
Runtime.getRuntime().exec(new String[] {"/bin/sh", "-c", command"})

Java实现mysql数据库备份功能完整代码:
public class MysqlExport {

public static void main(String[] args) {
        String username = "mysql_user";
        String password = "mysql_pwd";
        String server = "toughhou.gotoftp3.com";
        String port = "3306";
        String db = "houxiaolongr";
        String exportPath = "/home/tough/workspace/MysqlUtility/src/mysql/export.sql";

//构建mysqldump命令"mysqldump -uroot -proot -h127.0.0.1 dbname > export.sql"
        String exportCMD = "mysqldump " + "-u" + username + " -p" + password + " -h" + server + " " + db + " > " + exportPath;
        
        Runtime runtime = Runtime.getRuntime();
        try {            
            //-c告诉它读取随后的字符串,exportCMD是要运行的命令。 
            runtime.exec(new String[] {"/bin/sh","-c",exportCMD});
        } catch (IOException e) {
            e.printStackTrace();
            System.out.println(e.getMessage());
        }        
    }
}

因为第一次用RUntime.getRuntime.exec()方法,不知道Windows/Linux平台下使用方法是不同的。直接用了runtime.exec("cmd /c" + exportCMD);报如下异常:
java.io.IOException: Cannot run program "cmd": error=13, Permission denied
因为,在Linux下,Runtime.getRuntime().exec("cmd /c" + exportCMD)执行的命令"cmd /c"找不到。

Java实现mysql数据库备份的更多相关文章

  1. Java实现MySQL数据库备份(二)

    权声明:本文为博主原创文章,未经博主允许不得转载. 博客<Java实现MySQL数据库备份(一)>使用I/O流的方式实现了MySQL数据库的备份,这种方法比较繁杂,下面介绍另一种备份MyS ...

  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连接mysql数据库攻略

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

  7. Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复

    Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...

  8. TODO:MongoDB MySQL数据库备份

    TODO:MongoDB MySQL数据库备份 1. MongoDB使用命令备份 mongodump进行整个数据库备份,主要用到的命令参数: -d 要备份的数据库 -o 输出的路径 ./mongodu ...

  9. Java实现MySQL数据库导入

    距离上班还有一段时间.现在总结一下如何使用Java语言实现MySQL数据库导入: 首先新建名为test的数据库: 其次执行下面Java代码: import java.io.File; import j ...

随机推荐

  1. vb.net 使用 Regex Replace 正则 替换 Html字串的table中tbody第一个tr下的td为th

    本次示例效果如下: TextBox1中输入如下字符串: 12<table><tbody><tr><td>1<br/>11</td> ...

  2. [改善Java代码]多线程使用Vector或HashTable

    Vector是ArrayList的多线程版本,HashTable是HashMap的多线程版本,这些概念我 们都很清楚,也被前辈嘱咐过很多次,但我们经常会逃避使用Vector和HashTable,因为用 ...

  3. 使用GBK编码请求访问nodejs程序报415错误:Error: unsupported charset at urlencodedParser ...

    最近遇到一个问题,第三方用户向我们提供给的回调地址发送请求时一直报415错误,结果发现他们使用的是GBK编码请求,而我们使用的node + express4 程序,不支持GBK编码请求. 问题出在下面 ...

  4. 创建触发器在表中播入数据时ID自动增长

    ),age )) create or replace trigger gger_tt before insert on ttt for each row when (new.id is null) b ...

  5. 知道网站PV流量,如何选何云主机配置带宽大小

  6. link与@import区别

    1. link属于XHTML标签,@import是css提供的. 2.link在页面加载时加载,@import引用的css等到页面被加载完加载. 3.@import只在IE5以上可用,link无兼容问 ...

  7. ORACLE之PACKAGE

    刚学pl/sql编程,写了两个package.pkg_temp_fn和pkg_temp_fn2.内容涉及pl/sql基本语法,游标,存储过程(in,out),函数(有返回值). pkg_temp_fn ...

  8. sort排序中的坑

    问题的产生原因: 在一篇阿里面试题的跟帖中,很多人应用sort()方法对数组进行排序.看似合情合理的代码,运行结果却频频出错.为什么呢?因为很多人都忽略掉了一点,那就是sort()排序默认情况下是按A ...

  9. 程序生成SiteMapPath文件

    //创建站点地图 private void CreateSiteMap(DataSet ds) { XmlDeclaration declareation; declareation = xmlDoc ...

  10. c# 中日期的使用

    上月第一天:DateTime.Parse(DateTime.Now.AddMonths(-1).ToString("yyyy-MM-01")) 上周星期天:DateTime.Par ...