今天弄了好久,终于搞定了这个问题。使用java代码实现数据库的备份。
package cn.qm.db;
import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class Command {
/*
public static void main(String[] args) throws IOException {
Command com = new Command();
com.backupDatebase("localhost","root","root", "JXC", "D:/jxc.sql");
}
/**
* 执行dos命令
* @param cmd
* @return
*/
public String execCmd(String cmd) {
StringBuffer sb = new StringBuffer("");
StringBuffer str = new StringBuffer();
str.append("cmd.exe /c \"").append(cmd).append("\"");
System.out.println(str); //打印执行的命令
Process ls_proc;
try {
ls_proc = Runtime.getRuntime().exec(str.toString());
BufferedReader in = new BufferedReader(
new InputStreamReader(
new DataInputStream(ls_proc.getInputStream())));
String ss = "";
while((ss = in.readLine()) != null) {
sb.append(ss).append("\n");
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
return sb.toString();
}
/**
* 执行mysql数据库备份
* @param ip
* @param username
* @param password
* @param datebaseName
* @param filePath
* @return
*/
public boolean backupDatebase(String ip, String username, String password,String datebaseName, String filePath) {
String strCommand = "mysqldump -h "+ip+" -u" + username + " -p" + password + " " + datebaseName + " > " + filePath;
String result = execCmd(strCommand);
System.out.println(result);
return true;
}
/**
* 根据返回结果验证是否成功
* @param result
* @return
*/
public boolean check(String result) {
return true;
}
}
在JSP页面只要调用这个JAVA类就可以。(文件名只能是.sql)
<%@ page language="java" import="java.util.*,cn.qm.db.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>数据库备份测试</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Command com = new Command();
String ip = "localhost";//ip地址
String username = "root";//MySQL数据库的用户名
String password = "root";//MySQL数据库的密码
String database = "JXC";//数据库名字
String url = "D:/jxc.sql";//备份的目的地址
boolean check = com.backupDatebase(ip,username,password,database,url);
if(check){
%>
数据库备份成功
<%} %>
</body>
</html>
下面是恢复数据的代码。
package cn.qm.db;
import java.io.*;
import java.lang.*;
/*
* 还原MySql数据库
* */
public class Recover {
public boolean load(){
String filepath = "d:\\jxc.sql"; // 备份的路径地址
//新建数据库test
String stmt1 = "mysqladmin -u root -proot create jxctest";
String stmt2 = "mysql -u root -proot jxctest < " + filepath;
String[] cmd = { "cmd", "/c", stmt2 };
try {
Runtime.getRuntime().exec(stmt1);
Runtime.getRuntime().exec(cmd);
System.out.println("数据已从 " + filepath + " 导入到数据库中");
} catch (IOException e) {
e.printStackTrace();
}
return true;
}
}
<%@ page language="java" import="java.util.*,cn.qm.db.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>数据恢复测试</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
Recover com = new Recover();
String url = "D:/jxc.sql";
boolean check = com.load();
if(check){
%>
数据库恢复成功
<%} %>
</body>
</html>
分享到:
相关推荐
### Java JSP 实现 MySQL 数据库备份与还原 #### 知识点概述 本文将详细介绍如何使用 Java Bean 技术配合 JSP 来实现 MySQL 数据库的备份与还原功能。在实际开发过程中,数据库的备份与恢复是非常重要的环节,它...
在JSP中执行MySQL数据库备份,通常涉及创建一个Servlet或者JSP页面,该页面将调用Java代码来执行备份操作。 `mysql_util.java`可能是一个包含数据库操作逻辑的类文件。这个类可能包含了连接数据库、执行SQL语句...
本文将详细解析一个利用Java、JSP(Java Server Pages)和MySQL数据库技术构建的Web学校教材管理系统。该系统旨在为学校提供便捷的教材管理平台,实现管理员对教材资源的高效管理和维护。 首先,我们要理解这个系统...
本教程将详细介绍如何在Myeclipse中使用Java JSP技术与MySQL数据库进行交互,实现表格的增删改查功能。 1. **环境搭建** - 安装Myeclipse:首先确保已经安装了Myeclipse,这是开发Java Web应用的基础。 - 安装...
下面将详细阐述数据库备份与还原的基本概念、方法以及在JSP中实现这一功能的步骤。 1. **数据库备份**: - **全备**:备份整个数据库,包括所有数据和结构信息。这是最全面的备份方式,但通常耗时较长。 - **增量...
综上所述,"基于jsp+javaBean+Mysql 进销存,数据库完整备份"是一个采用传统Java Web技术栈构建的企业级进销存管理系统,通过合理的设计和编程实践,实现了高效的数据管理和业务流程控制,为企业的日常运营提供了强大...
MySQL(JSP版)数据库管理系统是一个适合初学者的实践项目,它涵盖了数据库管理和Web开发的基础知识,特别是如何在Java服务器页面(JSP)中与MySQL数据库进行交互。这个系统允许用户执行基本的数据操作,如添加...
【标题】"mysql数据库家教系统"涉及到的关键技术点包括MySQL数据库管理和JavaWeb与JavaScript的交互,这是一款针对家教服务的网站应用。 【MySQL数据库】是关系型数据库管理系统,用于存储和管理家教系统中的各类...
通过这些基础操作,开发者能够实现JSP页面与MySQL数据库的数据交互,从而创建动态、数据驱动的Web应用程序。 在实际开发中,通常会使用诸如Spring框架的JdbcTemplate或MyBatis等高级库来简化数据库操作,提高代码的...
本文将深入探讨一个基于JSP(JavaServer Pages)和MySQL数据库的学生信息管理系统,该系统由MyEclipse集成开发环境实现,旨在提供一个高效、便捷的方式来管理学生的个人信息。通过这个系统,我们可以理解如何利用Web...
在“数据库备份还原”这个文件中,可能包含了如何使用JSP进行数据库备份和还原的具体代码示例。通过学习这些示例,开发者可以更好地理解和实践上述步骤,为自己的项目建立可靠的数据保护机制。 总之,备份数据库是...
在Web开发领域,JSP(JavaServer Pages)和SQL数据库是构建动态网站的重要技术。本项目是一个基于JSP的旅游网站,它利用SQL数据库来存储和管理旅游相关的数据,如景点信息、旅游套餐、用户预订等。ODBC(Open ...
【Java框架开发的食堂管理系统+完整数据库备份】是基于Java技术栈实现的一款高效、便捷的食堂管理软件。这个系统利用了Java强大的后端处理能力和灵活的框架设计,旨在提升食堂运营效率,优化就餐体验,同时提供了...
"Jsp+Mysql文件管理系统"是一个基于Java服务器页面(JSP)技术和MySQL数据库构建的文件存储和管理解决方案。这个系统旨在提供一个高效、安全且易于使用的平台,用于组织、检索和操作各种类型的文件。 首先,JSP是...
它们在JSP中作为“bean”对象被引用,通过JSP标签或者EL(Expression Language)表达式调用其方法,实现数据的读取、修改和操作。在本项目中,JavaBean可能包含了用户管理、产品管理、订单处理等核心业务逻辑。 3. ...
在本系统中,JavaBean可能包含对数据库的操作、计算工资、处理考勤等方法,这些方法被Jsp调用来执行相应的业务功能。 3. **MySQL数据库**:MySQL是一个开源的关系型数据库管理系统,因其高效、稳定和易用而广泛应用...
图书管理系统是一种常见的信息管理应用,它采用Java编程语言,结合JSP(JavaServer Pages)技术和MySQL数据库,实现对图书信息的存储、检索、借阅、归还等功能。这个系统设计的目标是提供高效、便捷的图书资源管理...
【标题】:“小型网站java mysql”意味着我们正在讨论使用Java编程语言和MySQL数据库来构建一个小型网站。在这样的系统中,Java通常用于后端开发,处理业务逻辑和数据交互,而MySQL作为关系型数据库管理系统(RDBMS...
在实现过程中,JSP页面通常包含HTML、CSS、JavaScript以及嵌入式的Java代码,用于动态生成网页内容。JavaScript可以用于前端表单验证,提高用户体验。JSP中的Java代码主要用于数据的读取和写入,通过Java的Servlet ...