java备份数据库四种方法(mysql,mssql数据库备份)

java备份数据库教程四种方法(mysql教程,mssql数据库备份)
mysql数据库备份的东西,然后研究了一下java语言中怎么来调用cmd的命令来实现mysqldump的备份功能。具体实现如下:

1.首先设置环境变量:有两种方式。第一种,在环境变量中添加 mysql_home,设置内容为 mysql的安装路径,然后,在path中添加路径  %mysql_home%bin    。第二种方法,不新建mysql_home,而是直接在path中添加   mysql安装路径bin 。这样,调用cmd的时候可以直接找到mysqldump和mysql命令了。

2.现在编写java方法类来实现数据库的备份和还原。代码如下:
import java.io.ioexception;

public class db_deal {       

        private static string str=null;       

        public static void backup(){
                //使用mysqldump来备份数据库,格式"mysqldump -u username -ppassword --opt database_name > direction/backup_name.sql"
                str="mysqldump -u root -proot --opt   hjh >  d:/test.sql";   
                try { 
                        runtime rt=runtime.getruntime();
                        rt.exec("cmd /c"+str);
                //runtime.getruntime().exec(   )这个方法可以实现对命令的调用。具体内容看api
                //上面可以cmd调用控制台,然后执行str中的字符串表示的命令。
                        system.out.println("successly!");
                } catch (ioexception e) { 
                        e.printstacktrace(); 
                        system.out.println("something wrong!");               
           
                } 
               
        }
       
        public static void load(){
                str="mysql -u root -proot j2603  <  d:/test.sql";
                // mysql命令可以实现数据库的还原。格式"mysql -u username  -ppassword   database_name     <     back_up_dir  "
                runtime rt=runtime.getruntime();
                try {
                        rt.exec("cmd /c"+str);
                        system.out.println("restore successly!");
                } catch (ioexception e) {
                        e.printstacktrace();
                        system.out.println("restore fail!");
                }
        }
}

3.最后要备份的地方给这个类实例化,然后调用backup(),load()来实现mysql数据库的简单备份跟还原

//下面来看看备份mssql数据库代码

string webtruepath=getservletcontext().getrealpath(request.getservletpath());//取servlet的真实路径
java.io.file file=new java.io.file(webtruepath);
file=file.getparentfile();
string path=file.getpath()+"\..\web-inf\lib\"+name+".dbbak";//name文件名
string baksql="backup database school to disk=? with init";//sql语句
java.sql.preparedstatement bak=dbs.getconnection().preparestatement(baksql);
bak.setstring(1,path);//path必须是绝对路径
if(!bak.execute())over="备份成功";
else over="备份失败";
bak.close();
数据库恢复
if(!dbs.close()){
                    over="关闭所有链接失败";
}else{
                    string webtruepath=getservletcontext().getrealpath(request.getservletpath());
                    java.io.file file=new java.io.file(webtruepath);
                    file=file.getparentfile();
                    string path=file.getpath()+"\..\web-inf\lib\"+name;
                    string resql="restore database school from disk=? with replace";
                    class.forname(dbinf.getdriverclassname());
                    java.sql.connection con=drivermanager.getconnection(dbinf.getmester());
                    java.sql.preparedstatement restmt=con.preparestatement(resql);
                    restmt.setstring(1,path);//path必须是绝对路径
                    if(!restmt.execute())over="恢复成功";
                    else over="恢复失败";
                    restmt.close();
                    con.close();
}

恢复的时候,有点烦,要关闭所有与数据库的连接,这里我连的是mestar,其实可以
jdbc:microsoft:sqlserver://localhost:1433;user=username;password=pass
连接数据库服务器,不连指定的数据库.这样也可以

时间: 2024-08-24 13:09:10

java备份数据库四种方法(mysql,mssql数据库备份)的相关文章

jsp 连接Oracle 数据库四种方法

package dbbean; import java.sql.*; public class contactbean{ private connection con; //初始化连接. public contactbean() {          try  {   class.forname("oracle.jdbc.driver.oracledriver").newinstance();   string url="jdbc:oracle:thin:@localhost

如何查看mysql版本的四种方法

菜鸟大讲堂:如何查看mysql版本的四种方法 1:在终端下:mysql -V. 以下是代码片段: [shengting@login ~]$ mysql -V mysql Ver 14.7 Distrib 4.1.10a, for redhat-linux-gnu (i686) 2:在mysql中:mysql> status; 以下是代码片段: mysql> status; -------------- mysql Ver 14.7 Distrib 4.1.10a, for redhat-lin

java map遍历的四种方法总结_java

整理了关于java中map的遍历的四种方法: import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Map.Entry;import java.util.Set;publicclassMapTest{privateMap<String,String> map;publicMapTest(){  map =newHashMap<String,String>();

java环境变量配置四种方法

原文:java环境变量配置四种方法        Java编程首要工作就是安装JDK(Java Development Kit).一通"NEXT"点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变量,要理解这点,首先要明白环境变量的作用.环境变量可以简单的理解为路径导向.例如:Windows里面的临时文件夹存放的路径导向.当要访问此类文件时可根据此环境变量找到它的存放目录.像下面讲的CLASSPATH变量是为了在我们输入Java命令如javac等的时候不用敲入它的路径

mysql创建数据库几种方法

现在很流行mysql教程 php教程组合了,下面我们来总结几种关于mysql创建数据库教程方法,因为创建数据库很简单,所以我们也就快速的讲一下, 方法一,通过mysql命令模式 mysql> create database dbname; 这样就成功的创建了数据库dbname; 方法二,通过phpmyadmin 这个方法就更简单了, 方法三,利用php mysql程序创建数据库 <? $cn = mysql_connect('www.111cn.net','root','www.111cn.n

java 生成缩略图(四种生成方法)(1/2)

<%@ page contenttype="text/html; charset=gb2312" language="java" import="java.sql.*" errorpage="" %> <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml

SQL Server无日志恢复数据库(2种方法)_MsSql

SQL Server是一个关系数据库管理系统,应用很广泛,在进行SQL Server数据库操作的过程中难免会出现误删或者别的原因引起的日志损坏,又由于SQL Server数据库中数据的重要性,出现了以上的故障之后就必须对数据库中数据进行恢复.下文就为大家介绍一种恢复数据库日志文件的方法. 解决方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先

Excel 2000访问远程数据的四种方法

excel|访问|数据      Excel 2000作为一个电子表格软件,它不仅有强大的数据处理能力,而且它的报表功能也是十分强大.因而常常用Excel 2000去调用Access.SQL Server.Oracle.DB2等数据库软件建立的大型数据库的内容.用户可以在工作表中对这些数据进行筛选.排序.查询.编辑和打印报表,十分方便,这也是大多数人都熟悉的.但如何去调用这数据呢?本人在这里提供4种方法.    下面四种方法必须要先创建一个数据源,我们以SQL Server7.0内的样本数据库p

如何对硬盘进行病毒检测的四种方法

要进行传染,必然会留下痕迹.生物医学病毒如此,电脑病毒也是一样.检测电脑病毒,就要到病毒寄生场所去检查,发现异常情况,并进而验明"正身",确认电脑病毒的存在.电脑病毒静态时存储于硬盘中,被激活时驻留在内存中,因此对电脑病毒的检测可以分为对硬盘的检测和对内存的检测. 一般对硬盘进行病毒检测时,要求内存中不带病毒,因为某些电脑病毒会向检测者报告假情况.例如"4096"病毒在内存中时,查看被它感染的文件,不会发现该文件的长度已发生变化,而当在内存中没有病毒时,才会发现文件