您的位置:首页 > 编程语言 > Java开发

使用java备份还原MySQL数据库

2008-05-14 10:09 423 查看
最近做毕业设计的时候需要用到备份还原MySQL数据库,去网上找了些代码没有一个能用的。最终自己连猜带蒙终于给弄出来了, 已测试能用了!
代码如下:
import java.io.*;
public class BackupAndLoad {
public static void main(String[] args) {
backup();
load();
}
/**
* 备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra
* edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何)
*/
public static void backup() {

String user = "root"; // 数据库帐号
String password = "70689341"; // 登陆密码
String database = "finacing"; // 需要备份的数据库名
String filepath = "e://finacing.sql"; // 备份的路径地址

String stmt1 = "mysqldump " + database + " -u " + user + " -p" +
password + " --default-character-set=gb2312 --result-file=" + filepath;
//--default-character-set这儿设为你安装数据库时所选择的语言,比如说你安装MySQL里用的默认的UTF-8,这儿
//就设为UTF8,若是gb2312的话应设为gb2312,如果这儿设得不对的话,你用ultraedit打开这个备份后的sql文件时,
//中文部分显示乱码。
try {
Runtime.getRuntime().exec(stmt1);
System.out.println("数据已导出到文件" + filepath + "中");
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 导入
*
*/
public static void load() {
String filepath = "e://finacing.sql"; // 备份的路径地址

// 新建数据库finacing
String stmt1 = "mysqladmin -u root -p70689341 create finacing";
//-p后面加的是你的密码
String stmt2 = "mysql -u root -p70689341 finacing < " + filepath;
String[] cmd = { "cmd", "/c", stmt2 };

try {
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("数据已从 " + filepath + " 导入到数据库中");
} catch (IOException e) {
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: