视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
java写的MySQL数据库备份和恢复代码:
2020-11-09 07:41:23 责编:小采
文档

1.MySQL数据库备份和恢复,java代码实现:详情见下面: package com.spring.util; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import

1.MySQL数据库备份和恢复,java代码实现:详情见下面:

package com.spring.util;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

//MYSQL数据库备份
public class MySQLDump {

//备份数据库
public static boolean sqlDump(String cmd,String filePath){
boolean falg = false;
try {
Runtime run = Runtime.getRuntime();
Process p = run.exec(cmd);
InputStream is = p.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader isr = new InputStreamReader(is,"UTF-8");//设置输入流编码格式
BufferedReader br = new BufferedReader(isr);
//将控制台输入信息写入到文件输出流中
FileOutputStream fos = new FileOutputStream(filePath);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(fos,"UTF-8"));

String temp = null;
while((temp = br.readLine()) != null){
bw.write(temp);
bw.newLine();
}
bw.flush();
bw.close();
br.close();
falg = true;
System.out.println("/* Dump SQL File "+filePath+" OK! */");
} catch (IOException e) {
throw new RuntimeException("请将mysql命令添加到path中!",e);
}
return falg;
}

//恢复数据库
public static void sqlLoad(String cmd,String sqlPath){
try {
Runtime rt = Runtime.getRuntime();
Process child = rt.exec(cmd);
OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流
//输入流
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(sqlPath),"utf-8"));
//输出流
OutputStreamWriter writer = new OutputStreamWriter(out,"utf-8");
String inStr;
while((inStr = br.readLine()) != null){
writer.write(inStr);
writer.write("\n\r");
}
writer.flush();
//别忘记关闭输出流
out.close();
br.close();
writer.close();
System.out.println("/* Load SQL File "+sqlPath+" OK!*/");
} catch (IOException e) {
throw new RuntimeException(e);
}
}

public static void main(String[] args){
//备份数据库
sqlDump("C:/Program Files/MySQL/MySQL Server 5.5/bin/mysqldump -uroot -proot itcastoa", "d:/itcastOA.sql");
//恢复数据库
sqlLoad("C:/Program Files/MySQL/MySQL Server 5.5/bin/mysql.exe -uroot -proot itcastoa", "d:/itcastOA.sql");
}

}

下载本文
显示全文
专题