代码如下:
/*
* @(#)DatabaseBackup.java Apr 23, 2009
*
* Copyright (c) 2009 by jadmin. All Rights Reserved.
*/
package util.dbak;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
/**
* MySQL数据库的备份与恢复
* 缺陷:可能会被杀毒软件拦截
*
p = new PrintWriter(new OutputStreamWriter(output, "utf8"));
Process process = Runtime.getRuntime().exec(command);
InputStreamReader inputStreamReader = new InputStreamReader(process.getInputStream(), "utf8");
reader = new BufferedReader(inputStreamReader);
while ((line = reader.readLine()) != null) {
} catch (UnsupportedEncodingException e) {
public void backup(String dest, String dbname) {
OutputStream out = new FileOutputStream(dest);
} catch (FileNotFoundException e) {
public void restore(InputStream input, String dbname) {
String command = "cmd /c " + mysqlBinPath + "mysql -u" + username + " -p" + password + " " + dbname;
Process process = Runtime.getRuntime().exec(command);
OutputStream out = process.getOutputStream();
StringBuffer sb = new StringBuffer("");
BufferedReader br = new BufferedReader(new InputStreamReader(input, "utf8"));
while ((line = br.readLine()) != null) {
OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
} catch (UnsupportedEncodingException e) {
public void restore(String dest, String dbname) {
InputStream input = new FileInputStream(dest);
} catch (FileNotFoundException e) {
public static void main(String[] args) {
DatabaseBackup bak = new DatabaseBackup("C:/MySQL/UTF8/bin", "root", "root");
bak.restore("c:/t.sql", "ttk");
tags:java,mysql,database,数据库,备份,恢复,mysql命令