一、整體思路
選擇使用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文件打開如下,證明數據庫備份成功