• java实现mysql数据备份


    /**
         * @param hostIP       ip地址,可以是本机也可以是远程
         * @param userName     数据库的用户名
         * @param password     数据库的密码
         * @param savePath     备份的路径
         * @param fileName     备份的文件名
         * @param databaseName 需要备份的数据库的名称
         * @return
         */
        public boolean backup(String hostIP, String userName, String password, String savePath, String fileName,
                              String databaseName) {
            File saveFile = new File(savePath);
            if (!saveFile.exists()) {// 如果目录不存在
                saveFile.mkdirs();// 创建文件夹
            }
            String exePath = "mysqldump";
            if (PlatformUtil.isWindows()) {
                exePath = mysqldumpExePath;
            }
            //拼接命令行的命令
            StringBuilder stringBuilder = new StringBuilder();
            stringBuilder.append(exePath).append(" --opt").append(" -h").append(hostIP);
            stringBuilder.append(" --user=").append(userName).append(" --password=").append(password)
            /*.append(" --lock-all-tables=true")*/;
            stringBuilder.append(" --result-file=").append(savePath + "/" + fileName).append(" --default-character-set=utf8 ")
                    .append(databaseName);
            try {
                //调用外部执行exe文件的javaAPI
                Process process = CMDUtil.execProcess(stringBuilder.toString());
                process.waitFor();
                InputStream errorStream = process.getErrorStream();
                String s = IOUtils.toString(errorStream, "gbk");
                System.out.println(s);
                int value = process.exitValue();
                if (value == 0) {// 0 表示线程正常终止。
                    return true;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return false;
        }

    在 windows下,

    mysqldumpExePath
    表示的是mysqldump.exe的路径,包括文件名。
  • 相关阅读:
    正则表达式
    装饰练习
    JavaScript练习
    函数fgets和fputs、fread和fwrite、fscanf和fprintf用法小结
    [转载]C#读写文本文件
    c#中绝对路径和相对路径
    C# []、List、Array、ArrayList 区别及应用【转】
    中央子午线的计算方法(转)
    DataTabe的使用
    DataGridView的用法大全(一)
  • 原文地址:https://www.cnblogs.com/chenmz1995/p/11011151.html
Copyright © 2020-2023  润新知