Springboot+JavaWeb實現MySQL數據庫的備份

一、整體思路

選擇使用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文件打開如下,證明數據庫備份成功
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章