ackage org.yu.dbback;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
public class DbBackMain extends Thread{
private InputStream insp = null;
private String type;
public DbBackMain(InputStream is, String type) {
insp = is;
this.type = type;
}
/**
* 备份数据库
*
*/
public static void runback() {
Runtime cmd = Runtime.getRuntime();
List<String> backup = new ArrayList<String>();
backup.add("mysqldump");
backup.add("--opt");
backup.add("--user=root");
backup.add("--lock-all-tables=true");
backup.add("--result-file=c:\\back_test.sql");
backup.add("test");
try {
Process p = cmd.exec((String[])backup.toArray(new String[0]),null);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 还原数据库
*
*/
public static void reback() {
Runtime cmd = Runtime.getRuntime();
List<String> sources = new ArrayList<String>();
sources.add("cmd.exe");
sources.add("/C");
sources.add("mysql < c:\\back_test.sql");
sources.add("--user=root");
sources.add("--database=test");
try {
Process p = cmd.exec((String[])sources.toArray(new String[0]),null);
DbBackMain dberror = new DbBackMain(p.getInputStream(),"ERROR");
DbBackMain dboutput = new DbBackMain(p.getInputStream(),"OUTPUT");
dberror.start();
dboutput.start();
System.out.println(p.waitFor());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void run() {
try {
InputStreamReader isr = new InputStreamReader(insp);
BufferedReader br = new BufferedReader(isr);
String line = null;
while((line = br.readLine()) != null) {
System.out.println(type + ">" + line);
}
}
catch (IOException ioe) {
ioe.printStackTrace();
}
}
public static void main(String[] args) {
runback();
// reback();
}
}
分享到:
相关推荐
java备份还原数据库
利用java语言,备份mysql数据库,还原mysql数据库
java实现对mysql数据库的备份与还原,可跨平台,windows与Linux通用,代码内含有利用注册表信息获取mysqldump命令实例
JAVA实现数据库备份与还原,希望多与大家交流
Java实现Mysql数据库完整、增量备份与还原
Java实现SqlServer及MySql的备份与还原
Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。
如何通过JAVA使得ORACLE数据库信息备份还原,起到一个思路的作用,只是列举了简单的例子
自己写的mysql备份及还原的小工具,采用swing写的cs小客户端程序,源码全部在此,可正常使用。
JAVA实现数据库备份与还原.pdf
java备份还原oracle数据库知识.pdf
可以把远程oracle的数据库中的表内容备份到本地,本地的备份文件可以远程还原到oracle数据库中。该程序主意实现的是,两个oracle数据库不在通一个ip段的服务器上。
Java实现SqlServer及MySql的备份与还原(经典版).docx
用Java实现MySQL的备份与恢复
使用Java备份还原MySQL,写完已经测试,可以执行。
db2不像oracle那样可以很容易的导出dmp文件,进行备份和还原,db2的备份和还原还是很麻烦的,该文档是作者亲自整理,童鞋们只要按照步骤,一步一步来就可以了,简单吧
这里不仅仅会讲到备份和恢复,还会涉及到T-SQL,数据源连接池,Swing,DWR,Spring等的相关知识,特别是C/S模式到B/S模式的转化,相信能让大家有所收获!正在学习JAVA的朋友请关注博客http://blog.csdn.net/lenotang...