如何通过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)
{
//执行子进程成功之后的操作
}