一、整体思路
选择使用mysqldump命令的方法,用java的运行时类Java.lang.Runtime来使用后台窗口
二、数据库备份
1、MySQL环境变量的配置
mysqldump命令需要在mysql的bin目录下执行,这里我配置了msyql的环境变量,可以在命令窗口的默认目录下执行mysqldump命令,在环境变量的path栏里面添加mysql下面的bin文件夹路径即可。
2、数据库备份命令
mysqldump -h数据库服务器IP -P数据库使用端口号 -u账户 -p密码 数据库名>保存路径
三、js前台代码
//按钮
<a href="#button" class="button icon log" onclick="databasebackup();">数据库备份</a>
//函数事件
function databasebackup() {
$.ajax({
url: "/databasebackup",
type: "post",
datatype: "json",
success: function(result){
if(result=="success"){
$.messager.alert('Success','数据库备份成功!');
}
else{
$.messager.alert('Error','数据库备份失败!');
}
}
})
}
四、Java代码
@RequestMapping(value = "/databasebackup",method = {RequestMethod.POST,RequestMethod.GET})
@ResponseBody
public String databasebackup(HttpServletResponse response) throws Exception{
String filePath="D:\\教师成长档案管理系统\\";
/*String fileName="批量上传模板.xlsx";*/
String dbName="teacher";
try {
Process process = Runtime.getRuntime().exec(
"cmd /c mysqldump -u root -proot " + dbName + " > "
+ filePath + "/" + dbName+new java.util.Date().getTime()
+ ".sql");
//备份的数据库名字为teacher,数据库连接和密码均为root
System.out.println("success!!!");
return "success";
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
return "error";
}
}
五、示例截图
sql文件打开如下,证明数据库备份成功