欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java 调用Mysql dump 备份数据库,mysqldump,SimpleDateFo

来源: javaer 分享于  点击 28758 次 点评:93

Java 调用Mysql dump 备份数据库,mysqldump,SimpleDateFo


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();}
相关栏目:

用户点评