zoukankan      html  css  js  c++  java
  • Java实现mysql数据库备份

    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"找不到。

     

  • 相关阅读:
    160720、SSM-Shiro使用详解
    Python学习(4)运算符
    Python学习(3)变量类型
    Python学习(2)基本语法
    Python学习(1)安装Python
    MonkeyRunner学习(3)脚本编辑
    MonkeyRunner学习(2)常用命令
    MonkeyRunner学习(1)测试连接
    Monkey学习(4)简单测试实例
    Monkey学习(3)如何在Android模拟器中安装apk
  • 原文地址:https://www.cnblogs.com/toughhou/p/3778781.html
Copyright © 2011-2022 走看看