数据库课设设计之备份恢复数据库的骚操作

本文不是正规的备份恢复操作,但能简单的实现功能
本文没有用网上的教程中的存储过程
其他前辈的博客(正规方法)——点我跳转
博主本机用的是SQLServer数据库

先说一下原理:
在命令行下,可以通过sqlcmd代码(SQLServer和MySql代码不通)实现数据库的备份与恢复,代替了软件的图形界面操作
我们可以在web中写一个备份与恢复的按钮,在绝对路径下写一个备份和恢复的.bat文件,通过按钮触发这个文件的执行

如下图
在这里插入图片描述
先说一下SqlServer环境下
备份:
在这里插入图片描述恢复
在这里插入图片描述代码

sqlcmd -S localhost\MSSQLSERVER,1433 -U sa -P sa -d  master -Q"BACKUP DATABASE studentwork to disk='D:\idea-workspace\JavaEE\Student Work\backup.bak'"
pause
@ echo off
%1 %2
ver|find "5.">nul&&goto :Admin
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :Admin","","runas",1)(window.close)&goto :eof
:Admin

net stop MSSQL$SQLEXPRESS
net start MSSQL$SQLEXPRESS

sqlcmd -S localhost\MSSQLSERVER,1433 -U sa -P sa -d  master -Q"RESTORE DATABASE studentwork FROM disk='D:\idea-workspace\JavaEE\Student Work\backup.bak'"
pause

核心代码写完了 剩下就是触发这两个bat文件
我是写到了一个类里了,直接调用两个方法
如图这个类
在这里插入图片描述

package com.dhx.dao;
import java.io.IOException;
public class BackUpDao {
    public void backup() throws IOException {
        Runtime.getRuntime().exec("D:/idea-workspace/JavaEE/Student Work/dbbackup.bat");
    }
    public void restore() throws IOException {
        Runtime.getRuntime().exec("D:/idea-workspace/JavaEE/Student Work/dbrestore.bat");
    }

}

servlet中调用这两个方法
在这里插入图片描述
写了个表单+ 按钮 直接提交
在这里插入图片描述
然后测试
备份之后 目录下会出现一个bak文件
在这里插入图片描述恢复
在这里插入图片描述测试是没问题的
要注意的是编写备份和恢复那两个配置文件的时候 一定要写对
附下同组小弓同学的Mysql的代码,同时也特别感谢小弓同学提供的思路!

编写dbbackup文件和dbrestore文件

mysqldump -hlocalhost -uroot -padmin studentwork > G:\JSP2008\workplace\Student_Work\backup.sql
Pause
mysql -uroot -padmin studentwork < G:\JSP2008\workplace\Student_Work\backup.sql
Pause

下一篇会把这次的数据库课设写一下出来,供大家参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值