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 是为了显示错误信息

  • 相关阅读:
    java8特性 Optional 工具类
    SpringBoot 配置支付宝接口
    Redis宕机 快速恢复
    flowable流程引擎通过模型ID部署流程
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    Mybatis 动态执行SQL语句
    idea 访问 jsp 404问题
    变量名的命名
    CSS设计 Search窗口
    jQuery实现Ajax功能示例
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1381321.html
Copyright © 2011-2022 走看看