首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

在JSP页面调用JAVA步骤实现MySQL数据库的备份和恢复

2012-10-11 
在JSP页面调用JAVA方法实现MySQL数据库的备份和恢复今天弄了好久,终于搞定了这个问题。使用java代码实现数

在JSP页面调用JAVA方法实现MySQL数据库的备份和恢复

今天弄了好久,终于搞定了这个问题。使用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>

?

热点排行