java 备份mysql

http://bbs.linuxpk.com/thread-38705-1-1.html
由于项目中需要做一个数据库备份,所以小看了一下mysql数据库备份的东西,然后研究了一下JAVA语言中怎么来调用cmd的命令来实现mysqldump的备份功能。具体实现如下:

1.首先设置环境变量:有两种方式。第一种,在环境变量中添加 MYSQL_HOME,设置内容为 mysql的安装路径,然后,在path中添加路径 %MYSQL_HOME%\bin 。第二种方法,不新建MYSQL_HOME,而是直接在path中添加 mysql安装路径\bin 。这样,调用cmd的时候可以直接找到mysqldump和mysql命令了。

2.现在编写JAVA方法类来实现数据库的备份和还原。代码如下:
import java.io.IOException;

public class db_deal {

private static String str=null;

public static void backup(){
//使用mysqldump来备份数据库,格式“mysqldump -u username -pPassword --opt database_name > direction/backup_name.sql”
str="mysqldump -u root -proot --opt hjh > d:/test.sql";
try {
Runtime rt=Runtime.getRuntime();
rt.exec("cmd /c"+str);
//Runtime.getRuntime().exec( )这个方法可以实现对命令的调用。具体内容看API
//上面可以cmd调用控制台,然后执行str中的字符串表示的命令。
System.out.println("successly!");
} catch (IOException e) {
e.printStackTrace();
System.out.println("something wrong!");

}

}

public static void load(){
str="mysql -u root -proot j2603 < d:/test.sql";
// mysql命令可以实现数据库的还原。格式“mysql -u Username -pPassword database_name < back_up_dir ”
Runtime rt=Runtime.getRuntime();
try {
rt.exec("cmd /c"+str);
System.out.println("restore successly!");
} catch (IOException e) {
e.printStackTrace();
System.out.println("restore fail!");
}
}
}

3.最后要备份的地方给这个类实例化,然后调用backup(),load()来实现mysql数据库的简单备份跟还原。

这个是win下实现的,如果要在linux下实现,就更加容易,将exec()中的参数换一下就OK了。
同时,备份的时候可以以流的形式将数据库的数据写出来,有兴趣的朋友可以试试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值