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文件打开如下,证明数据库备份成功
这里写图片描述

猜你喜欢

转载自blog.csdn.net/wilson_m/article/details/81227079
今日推荐