跪求用java实现在linux环境下备份mysql数据库 怎么实现用java在linux下备份和还原mysql数据库! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 俺只会:备份:先select出来,再写到csv或者xml文件中。反之亦然等待学习更好的办法good luck 跟操作系统没什么关系,要说有什么不一样,就备份路径不一样备份:public int backUp() { int exitVal = -1; String mysqldump= "mysqldump -u username -p psw -R -c database>备份文件路径(如:/my/back.sql)"; Runtime rt = Runtime.getRuntime(); Process proc; try { proc = rt.exec(mysqldump); exitVal = proc.waitFor();// 成功返回0,失败返回-1 } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } return exitVal; }这样你就把数据库脚本导出来了(对于mysqldump命令你如果不熟悉,网上资料一在堆,这里就不多说了) 发个详细点的吧:备份:public static void backup() { try { Runtime rt = Runtime.getRuntime(); Process child = rt.exec("mysqldump -u用户名 -p密码 -R -c --set-charset=utf8 数据库名"); InputStream in = child.getInputStream(); InputStreamReader xx = new InputStreamReader(in, "utf8"); String inStr; StringBuffer sb = new StringBuffer(""); String outStr; BufferedReader br = new BufferedReader(xx); while ((inStr = br.readLine()) != null) { sb.append(inStr + "\r\n"); } outStr = sb.toString(); FileOutputStream fout = new FileOutputStream("备份的文件路径名"); OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8"); writer.write(outStr); writer.flush(); in.close(); xx.close(); br.close(); writer.close(); fout.close(); } catch (Exception e) { e.printStackTrace(); } }还原: public static void load() { try { String fPath = "备份的文件路径名"; Runtime rt = Runtime.getRuntime(); Process child = rt.exec("mysql -u用户名 -p密码 数据库名"); OutputStream out = child.getOutputStream(); String inStr; StringBuffer sb = new StringBuffer(""); String outStr; BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath), "utf8")); while ((inStr = br.readLine()) != null) { sb.append(inStr + "\r\n"); } outStr = sb.toString(); OutputStreamWriter writer = new OutputStreamWriter(out, "utf8"); writer.write(outStr); writer.flush(); out.close(); br.close(); writer.close(); } catch (Exception e) { e.printStackTrace(); } } tomcat启动时报下列错误,是什么原因,如何解决 <text src="cid:12791734552460.txt" />,彩信 tomcat 调错 struts2的xml到底是怎么配置的? jsp中如何读取图片相对路径,并存储到数据库中? jmagick在Application中使用正常,但在WEB里使用却提示出错,如何解决?? 提个很简单的问题,谢谢! 关于copy的代码问题!新发现,估计遇见的人不多,特提醒大家!!! 文件上传问题 struts2 中使用dojo时间控件dropdowndatepicker 不显示 JSP在登录时卡住的问题 Freemarker输出json的问题
备份:先select出来,再写到csv或者xml文件中。
反之亦然等待学习更好的办法good luck
String mysqldump= "mysqldump -u username -p psw -R -c database>备份文件路径(如:/my/back.sql)"; Runtime rt = Runtime.getRuntime();
Process proc;
try {
proc = rt.exec(mysqldump);
exitVal = proc.waitFor();// 成功返回0,失败返回-1
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
return exitVal;
}这样你就把数据库脚本导出来了(对于mysqldump命令你如果不熟悉,网上资料一在堆,这里就不多说了)
try {
Runtime rt = Runtime.getRuntime(); Process child = rt.exec("mysqldump -u用户名 -p密码 -R -c --set-charset=utf8 数据库名"); InputStream in = child.getInputStream(); InputStreamReader xx = new InputStreamReader(in, "utf8"); String inStr;
StringBuffer sb = new StringBuffer("");
String outStr; BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
FileOutputStream fout = new FileOutputStream("备份的文件路径名");
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(outStr);
writer.flush();
in.close();
xx.close();
br.close();
writer.close();
fout.close();
} catch (Exception e) {
e.printStackTrace();
} }还原:
public static void load() {
try {
String fPath = "备份的文件路径名";
Runtime rt = Runtime.getRuntime(); Process child = rt.exec("mysql -u用户名 -p密码 数据库名");
OutputStream out = child.getOutputStream();
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath), "utf8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString(); OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
writer.flush(); out.close();
br.close();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
}