zoukankan      html  css  js  c++  java
  • java程序中备份Mysql数据库

    1.得到系统的类型.不同的系统有不同的文件分割符号.

    public static boolean isLinux(){
         String OS = System.getProperty("os.name").toLowerCase();
            if (OS.indexOf("windows") > -1) {
             return false;
            }
            else{
             return true;
            }
        } 

    2.根据不同的系统生成不同的命令:

    //表名

     String dbs = "ACTION DDINFO DEVICE DEVICEALARM DEVICEINFO DEVICELOG ";

    List command=new ArrayList();

     if (isLinux) {
                    command.add(exec_path+ "mysqldump");
                    command.add("--opt");
                    command.add("--user=root");
                    command.add("--lock-all-tables=true");
                    command.add("--result-file=" + dumpedFilepath+File.separator+SERVER_BACKUP_SQL_FILE);
                    command.add("orca");
                    String[] str=dbs.split(" ");
                    for(int i=0;i<str.length;i++)
                    command.add(str[i]);  
                }
                else {
                    command.add("\""+exec_path+ "mysqldump\"");// is this work?
                    command.add("--opt");
                    command.add("--user=root");
                    command.add("--lock-all-tables=true");
                    command.add("--result-file=" + dumpedFilepath+File.separator+SERVER_BACKUP_SQL_FILE);
                    command.add("orca");
                    String[] str=dbs.split(" ");
                    for(int i=0;i<str.length;i++)
                    command.add(str[i]);

    3.运行命令

    得到Runtime

    private Runtime cmd = Runtime.getRuntime();

    Process p = cmd.exec((String[])command.toArray(new String[0]),null);
             String line;
                BufferedReader br=new BufferedReader(new InputStreamReader(p.getErrorStream()));
                while ( (line = br.readLine()) != null)
                    log.error("<<<<<<<" + line);

    Process 是为了显示错误信息

  • 相关阅读:
    怎么控制 echarts提示框浮层的内容
    控制echarts 柱状图啊的柱条的宽度
    如何控制echartsY轴颠倒
    mac mysql nginx
    input textarea 获取焦点挡住输入法 解决办法
    react 记录
    微信内自动播放audio
    react router
    mysql 记录
    express 插件
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1381321.html
Copyright © 2011-2022 走看看