- 浏览: 281131 次
最新评论
-
liupengjun1:
学习看看!!!
Dom4j的使用(全而好的文章) -
李君寻:
条理清晰,有示例有分析,好文档,谢谢分享
Dom4j的使用(全而好的文章) -
TaoistWar:
nintenyun 写道TaoistWar 写道垃圾,不如看D ...
Dom4j的使用(全而好的文章) -
shangs2010:
写的真仔细,多谢!真好!
Dom4j的使用(全而好的文章) -
a346063587:
顶。。真的很好哈。。。。
Dom4j的使用(全而好的文章)
首先,设置mysql的环境变量(在path中添加%MYSQL_HOME%\bin),重启电脑。
完整代码:
备份:
/**
* @param args
*/
public static void main(String[] args) {
/*
* 备份和导入是一个互逆的过程。
* 备份:程序调用mysql的备份命令,读出控制台输入流信息,写入.sql文件;
* 导入:程序调用mysql的导入命令,把从.sql文件中读出的信息写入控制台的输出流
* 注意:此时定向符">"和"<"是不能用的
*/
backup();
load();
}
/**
* 备份检验一个sql文件是否可以做导入文件用的一个判断方法:把该sql文件分别用记事本和ultra
* edit打开,如果看到的中文均正常没有乱码,则可以用来做导入的源文件(不管sql文件的编码格式如何,也不管db的编码格式如何)
*/
public static void backup() {
try {
Runtime rt = Runtime.getRuntime();
// 调用 mysql 的 cmd:
Process child = rt
.exec("mysqldump -u root --set-charset=utf8 bjse act_obj");// 设置导出编码为utf8。这里必须是utf8
// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStream in = child.getInputStream();// 控制台的输出信息作为输入流
InputStreamReader xx = new InputStreamReader(in, "utf8");// 设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
// 要用来做导入用的sql目标文件:
FileOutputStream fout = new FileOutputStream(
"e:/mysql-5.0.27-win32/bin/bjse22.sql");
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
// 别忘记关闭输入输出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();
System.out.println("/* Output OK! */");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 导入
*
*/
public static void load() {
try {
String fPath = "e:/mysql-5.0.27-win32/bin/bjse22.sql";
Runtime rt = Runtime.getRuntime();
// 调用 mysql 的 cmd:
Process child = rt.exec("mysql -u root bjse ");
OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流
String inStr;
StringBuffer sb = new StringBuffer("");
String outStr;
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(fPath), "utf8"));
while ((inStr = br.readLine()) != null) {
sb.append(inStr + "\r\n");
}
outStr = sb.toString();
OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
// 别忘记关闭输入输出流
out.close();
br.close();
writer.close();
System.out.println("/* Load OK! */");
} catch (Exception e) {
e.printStackTrace();
}
}
备份语句:
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
评论
3 楼
pengyan5945
2012-02-14
这种mysql命令只能备份本地数据库的数据。如何用java备份远程数据库数据了?
后者更适合BS架构。
后者更适合BS架构。
2 楼
ydk123645
2012-02-09
求解释啊!!!!!! 顶楼上 !!! 为什么是空的啊!!!
1 楼
galinna
2007-12-14
按照上面备份出来是一个空的.sql文件,为什么?
发表评论
-
用ajax实现级联菜单
2007-08-08 11:35 3072张盈盈 11:15:18 <script> ... -
网页定位问题
2007-06-09 17:08 2109问题:一个网页显示了10道题,我看到第8道,发现它有错误,通过 ... -
hibernate 中 inverse的设置对效率的影响
2007-05-26 16:00 2336java 代码 双向关联与inverse设定 ... -
Hibernate提供了以下几种内置标识符生成器
2007-04-24 11:25 2138Generator元素用来设定标识符生成器.Hibernate ... -
hibernate的父子关系及inverse
2007-04-24 10:25 1930inverse="true"的问题 inv ... -
Hibernate中outer-join、lazy 、fetch join关键字的使用
2007-04-24 09:48 133071、outer-join关键字(many-to ... -
关于Hibernate的unsaved-value
2007-04-24 09:26 1658关于Hibernate的unsaved-value unsa ... -
sun.net.ftp.FtpClient的函数说明
2007-03-20 16:23 11724sun.net.ftp.FtpClient.,该类库主要提供了 ... -
JAVA操作Excel的方法
2007-03-17 11:11 1951此操作使用POI类库,请到以下URL下载: http ... -
小知识点
2007-03-11 14:14 14701从C盘的目录切换到D盘,不用cd命令,直接输入 C:\Doc ... -
Linux Squid 代理修改配置
2007-03-09 13:59 1649附件中 -
jstl(jsp标准标签)
2007-02-02 17:00 1451附件中 -
spring mvc 中文乱码问题解决
2007-01-29 16:35 11435在eclipse环境里,页面传输数据的时候通常用ISO-885 ... -
Dom4j的使用(全而好的文章)
2007-01-24 17:43 136953Dom4j 使用简介 作者: ... -
dom4jAPI[1]--用dom4j建立,修改XML文档,并解决格式化输出和中文问题
2007-01-24 16:41 4734import java.io.File;<o:p> ... -
MD5加密的Java Bean
2007-01-22 09:20 1969MD5 算法的Java Bean- - ... -
spring配置中<context-param> 和<init-param>的 区别
2007-01-11 13:48 4511如果我们直接作为tomcat中的一部分.那么我们一定要用con ... -
log4j详解
2007-01-07 15:08 2635...
相关推荐
文件中包含两种备份恢复的方法,一种是用Runtime.getRuntime().exec方法来实现的,另一种方法是使用Apache的command-exec中的方法来实现的。个人使用的是第二种方法
下面将详细介绍如何通过CMD(命令提示符)和Java来使用mysqldump进行MySQL数据库的备份。 ### CMD备份 在Windows系统中,我们通常使用CMD(命令提示符)来执行mysqldump命令。首先,确保MySQL服务器已运行,并且...
首先,我们需要了解Java MySQL备份的基本原理。在Java中,我们可以使用JDBC(Java Database Connectivity)API来连接和操作MySQL数据库。JDBC提供了一组接口和类,使得Java程序能够与各种数据库进行交互,包括MySQL...
1. `Java操作mysql备份.doc` - 这可能是一个文档,包含了详细的Java代码示例和步骤解释,指导用户如何编写Java程序来执行MySQL的完全备份。 2. `db.properties` - 这通常是一个配置文件,存储了数据库连接的相关信息...
本软件Mysql定时备份器,目前为beta v1.0版(测试版),基于JAVA编写,运行时需JVM1.5版本以上支持.可以帮助windows环境下的mysql用户实现自动备份功能.分完全备份和增量备份,可立即执行和定期执行.点击'完全备份'和'增量...
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
在IT行业中,数据库管理是至关重要的任务之一,其中包括定期备份和恢复操作。本文将深入探讨如何使用Java语言来实现MySQL数据库...通过分析和理解这些代码,你将能够更好地掌握Java实现MySQL备份与还原的具体实现细节。
总结来说,Java实现MySQL的完整和增量备份与还原涉及使用`mysqldump`和`mysql`命令,以及对二进制日志的理解。在实际操作中,应根据业务规模和需求选择合适的备份策略,并确保备份过程的安全性和有效性。
在这个场景中,我们关注的是使用Java来实现MySQL数据库的备份,结合Hibernate这个流行的对象关系映射(ORM)框架来获取数据库配置信息。 首先,我们需要理解Hibernate在其中的角色。Hibernate是一个Java库,它允许...
Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。
在Java编程环境中,我们可以利用Java的定时任务框架如ScheduledExecutorService或者第三方库Quartz来实现MySQL数据库的定时备份。MySQL数据库备份通常涉及到两种主要的方法:全量备份和增量备份。全量备份是复制整个...
在实际应用中,定时备份数据库是一件非常重要的工作,下面是关于利用java程序实现数据库自动调用的方法,其实也不一定非要用 java语言了,只要原理会了...话不多说,下面就来演示一下如何自动备份mysql下的abc数据库:
### 二、Java实现MySQL备份 #### 2.1 备份类Backup 备份类Backup继承自Thread类,这意味着备份操作可以在单独的线程中执行,不会阻塞主线程。其核心逻辑如下: 1. **设置参数**:包括数据库账号(`user`)、密码...
本文将详细讲解如何使用Java代码来实现Mysql数据库的备份。这个“通过Java代码备份Mysql数据库Demo”是一个简单的示例,旨在帮助开发者快速理解和实践这一功能,从而节省学习和调试的时间。 首先,我们需要了解Java...
本文将详细讲解如何使用Java来实现MySQL数据库的备份与恢复功能,以及相关的关键知识点。 首先,我们需要理解数据库备份的基本原理。备份是为了防止数据丢失,通常包括全量备份和增量备份。全量备份是指复制整个...
### Java JSP 实现 MySQL 数据库备份与还原 #### 知识点概述 本文将详细介绍如何使用 Java Bean 技术配合 JSP 来实现 MySQL 数据库的备份与还原功能。在实际开发过程中,数据库的备份与恢复是非常重要的环节,它...
在Java中,实现MySQL备份通常涉及以下几个核心步骤: 1. 连接MySQL:使用JDBC(Java Database Connectivity)驱动,通过`java.sql.DriverManager`类来建立与MySQL服务器的连接。需要提供正确的数据库URL、用户名和...
java 实现mysql 的备份与恢复,全部代码
在网上找了好多的MySQL备份,多少都有错误,修改了网上的代码,实际可行的mysql备份。
首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java Database Connectivity)API或者Spring Data JPA等库来与MySQL交互。以下是一般备份和恢复过程的...