Use java to execute commands to export mysql data to files

package com.yh.mysql;

import java.io.File;
import java.io.IOException;

/**
 * @Description: 执行mysql的数据导出
 * @Author: yh
 * @CreateDate: 2018/4/28 11:39
 * @UpdateUser: yh.z
 * @UpdateDate: 2018/4/28 11:39
 * @UpdateRemark: The modified content
 * @Version: 1.0
 */
public class Mysqldump {

    public static void main(String[] args) {
        exportDatabaseTool(args[0], args[1], args[2], "root", "123");
    }

    private static void exportDatabaseTool(String hostIP, String databaseName, String fileName, String userName, String password) {
       if (fileName.contains(File.separator)){
           String savePath=fileName.substring(0,fileName.lastIndexOf(File.separator)+1);
           File saveFile = new File(savePath);
           if (!saveFile.exists()) {// 如果目录不存在
               saveFile.mkdirs();// 创建文件夹
           }
       }
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("mysqldump").append(" -h ").append(hostIP).append(" -u ").append(userName).append(" --password=").
                append(password).append(" --databases ").append(databaseName)/*.append(" --default-character-set=utf8 ")*/
                .append(" --result-file=")/*append(">")*/.append(fileName);
        System.out.println("命令:" + stringBuilder.toString());
        try {
            System.out.println("开始导出备份数据。。。");
            Runtime runtime = Runtime.getRuntime();
            Process process = runtime.exec(stringBuilder.toString());
            if (process.waitFor() == 0) {// 0 表示线程正常终止。
                //loger.info("数据库导出备份成功");
                System.out.println("数据库导出备份成功");
            } else {
                System.out.println("process.waitFor()=" + process.waitFor());
            }
        } catch (IOException e) {
            //loger.info("数据库导出备份异常");
            System.out.println("数据库导出备份异常");
            e.printStackTrace();
        } catch (InterruptedException e) {
            //loger.info("数据库导出备份异常");
            System.out.println("数据库导出备份异常");
            e.printStackTrace();
        }
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325223364&siteId=291194637
Recommended