在JSP页面调用JAVA方法实现MySQL数据库的备份和恢复
来源:互联网 发布:淘宝卖家退货率 编辑:程序博客网 时间:2024/06/05 22:55
今天弄了好久,终于搞定了这个问题。使用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>
- 在JSP页面调用JAVA方法实现MySQL数据库的备份和恢复
- 如何用Java实现MySQL数据库的备份和恢复
- 如何用Java实现MySQL数据库的备份和恢复
- 如何用Java实现MySQL数据库的备份和恢复
- Java 下实现对mysql数据库的备份和恢复
- Java实现MySQL的备份和恢复
- java 实现mysql的备份和恢复
- 用jsp实现SQLServe数据库的备份和恢复
- MySQL 数据库备份和恢复方法详解
- MySQL 数据库备份和恢复方法详解
- MySQL 数据库备份和恢复方法详解
- java实现mySQL数据库的备份与恢复
- java Mysql 数据库备份和恢复
- Java备份和恢复Mysql数据库
- java应用备份和恢复mysql数据库
- java写的MySQL数据库备份和恢复代码:
- 使用java进行mysql数据库的备份和恢复
- mysql备份、恢复数据库的方法
- Android 用纯代码实现复杂界面
- Android 中image格式的压缩和解压缩
- android2.3新增api StrictMode介绍
- XP系统电脑开机桌面上什么文件都没有啦怎么办
- ubuntu12.04下 配置静态IP
- 在JSP页面调用JAVA方法实现MySQL数据库的备份和恢复
- 简单介绍Linux下安装Tomcat的步骤
- linux 软硬连接
- ACRush 楼天成回忆录
- SpringMVC深度探险(二) —— SpringMVC概览
- Myeclipse 和eclipse项目互换导入,需修改文件
- 【小蒙淘金】11.29金评-黄白上演高台跳水
- Android 中悬浮窗口
- NSURLConnection同步与异步请求