java备份mysql数据库

本文介绍了如何使用Web程序执行MySQL备份操作,包括使用cmd命令和Runtime.getRuntime().exec()方法来实现备份过程,并强调了非阻塞式执行的特点。

如何通过web程序对mysql备份?

 

cmd命令:

StringBuffer sql = new StringBuffer();
sql.append("\"").append(mysqlDir).append("mysqldump\"")
     .append(" --host=").append(ip)
     .append(" --port=").append(port)
     .append(" --user=").append(username)
     .append(" --password=").append(password)
     .append(" --databases ").append(DbTables.DBNAME)
     .append(" --result-file=\"").append(directory).append("/").append(filename).append("\"")
     .append(" --default-character-set=utf8");

 

如何执行:

Process process = Runtime.getRuntime().exec(sql.toString());

 

注意:

 

1、这里不用再启一个cmd的进程,可以直接运行mysqldump进程。

 

2、exec并不是阻断性的,意思是:如果你备份一个sql文件,他不会等这个文件备份成功,杀掉mysqldump进程之后才 

会返回,他会按照程序的顺序继续执行。

 

3、如果需要等待子进程的结束,可以使用waitfor方法,也就是waitfor方法才具有阻断性

int value = process.waitFor();
if(value == 0)
{
    //执行子进程成功之后的操作					
}
 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值