Java 调用Mysql dump 备份数据库详解编程语言

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); 
 
try { 
 
 
String name = sdf.format(new Date()); 
String filePath = System.getProperty("user.dir") + "//" + name + ".sql"; 
 
 
// 系统执行器 
Runtime rt = Runtime.getRuntime(); 
 
 
// 导出数据库语句 
StringBuffer cmd = new StringBuffer(); 
cmd.append("mysqldump -u"); 
cmd.append(ServeConfig.dbUser); 
cmd.append(" -p"); 
cmd.append(ServeConfig.dbPass); 
cmd.append(" --set-charset=utf8 "); 
cmd.append(ServeConfig.dbName); 
 
 
// 执行导出获取输入流 
Process child = rt.exec(cmd.toString()); 
InputStream in = child.getInputStream(); 
InputStreamReader ir = new InputStreamReader(in, "utf8"); 
 
 
// 输出文件 
FileOutputStream fo = new FileOutputStream(filePath); 
OutputStreamWriter os = new OutputStreamWriter(fo, "utf8"); 
 
 
// 开始读取数据 
char[] temp = new char[1024000]; 
int len = 0; 
while ((len = ir.read(temp)) > 0) { 
os.write(temp, 0, len); 
os.flush(); 
} 
 
 
// 别忘记关闭输入输出流 
in.close(); 
ir.close(); 
os.close(); 
fo.close(); 
 
 
// 将文件发送到备份服务器 
FileUpLoad upload = FileUpLoad.createFileUpLoad(ServeConfig.backAddr, new File(filePath)); 
upload.tryStart(); 
upload.waitFinish(); 
upload.doClose(); 
 
 
} catch (Exception e) { 
e.printStackTrace(); 
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/10611.html

(0)
上一篇 2021年7月19日 10:21
下一篇 2021年7月19日 10:21

相关推荐

发表回复

登录后才能评论