package com.cd.quartz.MysqlBackups;
import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Backups {
public static void main(String[] args) {
try {
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
//cmd运行windows命令 后面跟要执行的脚本文件 /c类似于cd
//-u数据库用户名 -p数据库密码 设置编码 数据库名字
String cmd = "cmd /c \"E:\\Program Files\\Java\\mysql-5.7.25-winx64\\mysql-5.7.25-winx64\\bin\\mysqldump\" -uroot -p123456 --set-charset=utf8 1901";
System.out.println(cmd);
Process process = Runtime.getRuntime().exec(cmd);//运行命令
InputStream in = process.getInputStream();
InputStreamReader inputStreamReader = null;
try {
inputStreamReader = new InputStreamReader(in, "utf8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
StringBuffer buffer = new StringBuffer("");
String line = null;
BufferedReader reader = new BufferedReader(inputStreamReader);
while ((line = reader.readLine()) != null) {
buffer.append(line);
System.out.println(line);
}
FileOutputStream os = new FileOutputStream("E:/" + format.format(new Date()) + ".sql");
OutputStreamWriter writer=new OutputStreamWriter(os,"utf-8");
writer.write(buffer.toString());
writer.flush();
writer.close();
reader.close();
os.close();
inputStreamReader.close();
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Java备份数据库
于 2019-07-01 14:42:27 首次发布