`

java 中关于备份和还原mysql数据库

阅读更多
-----------------------------备份数据库-----------------------------
/**
* 传入存储路径备份数据库
* @throws IOException  path为 备份为xxx.sql的路径
*/
public void backupdatabase(String path) throws IOException{
Runtime rt = Runtime.getRuntime();
// 调用 调用mysql的安装目录的命令
Process ps= rt.exec("mysqldump -h localhost -u数据库用户名 -p数据库密码  需要备份的数据库名字");
// 设置导出编码为utf-8。这里必须是utf-8
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStream in= ps.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader ir= new InputStreamReader(in,"utf-8"); // 设置输出流编码为utf-8。这里必须是utf-8,否则从流中读入的是乱码
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(ir);
while((inStr=br.readLine())!=null){
sb.append(inStr+"\r\n");
}
outStr= sb.toString();
// 要用来做导入用的sql目标文件:
FileOutputStream fo=new FileOutputStream(path);
OutputStreamWriter osw = new OutputStreamWriter(fo,"utf-8");
osw.write(outStr);
osw.flush();
in.close();
ir.close();
br.close();
osw.close();
fo.close();


---------------------------还原数据库-------------------------------

public String load(){
try {
String fPath=ServletActionContext.getServletContext().getRealPath("")+"/backupDatabase/"+"iccafe 20121206 1024.sql";//需要还原的数据库路径
Runtime rt= Runtime.getRuntime();
Process ps= rt.exec("mysql -u"+this.getUserName()+" -p"+this.getPassWord()+" iccafejshopactive");
OutputStream out = ps.getOutputStream();
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(fPath),"utf-8"));
while ((inStr = br.readLine()) != null) {
    sb.append(inStr + "\r\n");
   }
   outStr = sb.toString();
//    System.out.println(outStr);
   OutputStreamWriter writer = new OutputStreamWriter(out, "utf-8");
   writer.write(outStr);
   writer.flush();
   out.close();
   br.close();
   writer.close();
   this.setFlag(true);
   return "json";
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
this.setFlag(false);
return "json";
}

提示:
实现以上的功能首先要配置mysql环境变量。
设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin),重启电脑。
或者! 直接找到mysql的安装路径!
Process child = rt
     .exec("C://Program Files//MySQL//MySQL Server 5.1//bin//mysqldump -h localhost -uroot -proot  dlgs_test");


备份语句:mysql> SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',' from db_testtemp where std_state='1';Query OK, 1 row affected (0.00 sec)mysql> SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',' from db_testtemp ;Query OK, 2 rows affected (0.00 sec)只生成一个只有数据的.txt:SELECT * INTO OUTFILE "D:\\data\\db_testtemp.txt" fields terminated by ',' lines terminated by '\r\n' from db_testtemp ;只生成一个只有数据的.txt:mysqldump -uroot -pncae2010 -w "std_state='1'" -T D:\data --no-create-info --fields-terminated-by=, exam db_testtemp生成一个创建数据库语句的.sql,一个只有数据的.txt:mysqldump -uroot -pncae2010 -w "std_state='1'" -T D:\data --fields-terminated-by=, exam db_testtemp只生成insert语句:mysqldump -uroot -pncae2010 -w "std_state='1'" -t exam db_testtemp > D:\data\a.sql
2
1
分享到:
评论

相关推荐

    Java在线备份和还原MySQL数据库

    Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。

    利用JDBC备份和还原MYSQL数据库

    利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份

    Java实现对Mysql数据库的备份还原

    本文将深入探讨如何使用Java语言来实现MySQL数据库的备份与还原功能,这是一个跨平台的解决方案,无论是在Windows还是Linux环境下都能正常工作。 首先,让我们了解备份和还原的基本概念。数据库备份是为了防止数据...

    java mysql 数据库备份和还原操作(csdn)————程序.pdf

    上述代码展示了如何使用Java来实现MySQL数据库的备份和还原操作。以下是对这些操作的详细解释: 首先,代码导入了多个Java库,包括`java.io`包下的类,用于处理输入/输出流,以及`java.util`包下的类,如`Date`和`...

    java备份与恢复mysql数据库源码

    本文将详细讲解如何使用Java来实现MySQL数据库的备份与恢复功能,以及相关的关键知识点。 首先,我们需要理解数据库备份的基本原理。备份是为了防止数据丢失,通常包括全量备份和增量备份。全量备份是指复制整个...

    mysql(完整、增量)备份与还原

    还原过程涉及将备份文件(通常是`.sql`文件)导入到MySQL数据库中。在Java中,我们可以使用`mysql`命令行客户端来实现: ```java Runtime.getRuntime().exec("mysql -u [username] -p[password] -h [hostname] ...

    mysql数据库数据备份与还原源代码

    本项目提供了一个基于Java Servlet(jsp)的MySQL数据库数据备份与还原的源代码,帮助用户轻松地完成这一任务。 首先,我们要理解数据库备份的重要性。在日常操作中,由于硬件故障、软件错误、恶意攻击或意外删除等...

    java备份还原数据库

    总的来说,Java备份和还原数据库涉及到JDBC连接、操作系统命令调用、SQL语句执行等多个方面。了解并掌握这些技术,对于确保数据安全和业务连续性至关重要。同时,根据实际场景选择合适的备份策略,是每个IT专业人员...

    数据库备份及还原Java源码

    这里我们讨论的“数据库备份及还原Java源码”是一个基于Swing开发的客户端程序,专用于MySQL数据库的备份和恢复操作。下面我们将深入探讨相关知识点。 1. **数据库备份**: - **全量备份**:备份整个数据库,包括...

    mysql数据库备份与恢复

    本知识点将深入探讨如何在SpringBoot环境下对MySQL数据库进行备份与恢复,以确保数据的安全。 首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java ...

    JAVA实现数据库备份与还原

    本文将详细讲解如何使用Java实现基于MySQL数据库的备份与还原操作。 首先,我们了解到数据库备份通常有两种主要的方式:一是使用数据库管理工具(如MySQL的Workbench),二是通过编程方式执行。在Java中,我们可以...

    java jsp实现mysql备份还原 代码

    该方法用于实现数据库的还原,通过执行 `mysql` 命令读取之前备份的文件,并将其导入到指定的数据库中。在这个例子中,`test` 是需要还原的数据库名称,`c:/test.txt` 是备份文件的位置。 ##### 5. 主函数实现 ```...

    java实现数据库容灾备份

    本文将深入探讨如何使用Java来实现这一功能,特别是针对MySQL数据库的备份。结合提供的标题"java实现数据库容灾备份"和描述"可以集成定时任务去实时备份或者定期备份,欢迎一起讨论",我们将详细介绍如何利用Java...

    JAVA数据库备份还原方法

    利用java语言,备份mysql数据库,还原mysql数据库

    Mysql数据库定时备份

    在本文中,我们将介绍三种不同的Mysql数据库定时备份方法,包括手动备份、使用定时任务备份和Java代码添加监听备份。 手动备份 手动备份是最简单的一种备份方法,只需要使用mysqldump命令将数据库备份到文件中。...

    Java备份还原MySQL

    总结来说,使用Java备份和还原MySQL数据库主要涉及以下几个步骤: 1. 引入MySQL JDBC驱动。 2. 使用`Runtime.getRuntime().exec()`执行`mysqldump`进行备份。 3. 存储备份文件。 4. 使用`Runtime.getRuntime().exec...

    mysql数据库备份还原实战操作步骤-mysqldump备份还原

    在本文中,我们将介绍 MySQL 数据库备份还原实战操作步骤,包括使用 mysqldump 工具进行备份和恢复数据库的详细指令。 一、备份数据库 mysqldump 是 MySQL 提供的一种备份工具,使用 mysqldump 可以将 MySQL ...

    Java实现SqlServer及MySql的备份与还原(经典版).docx

    还原MySQL数据库则使用`mysql`命令行工具: ```java Process process = Runtime.getRuntime().exec("mysql -u root -p your_password your_database ); ``` 四、整合到Action类 在Struts1框架中,可以创建一个...

Global site tag (gtag.js) - Google Analytics