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

  • 相关阅读:
    eclipse+myeclipse 使用技巧备忘
    程序员的自我修养
    枚举工具类 EnumUtils
    日期/时间处理工具 DateTimeUtil
    轻松了解Spring中的控制反转和依赖注入(一)
    了解SpringMVC框架及基本工作流程
    HTTP请求行、请求头、请求体详解
    Tomcat项目部署问题记录
    入手IntelliJ IDEA 常用配置
    解决阿里云OSS跨域问题
  • 原文地址:https://www.cnblogs.com/huqingyu/p/1381321.html
Copyright © 2020-2023  润新知