import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
public class Test {
public static void main(String[] args) throws IOException{
backup("d:\\\\d.sql");
recover("d:\\\\d.sql");
}
public static void backup(String path) throws IOException{
Runtime runtime = Runtime.getRuntime();
//-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字
Process process = runtime.exec("mysqldump -u root -p123456 family");
InputStream inputStream = process.getInputStream();//得到输入流,写成.sql文件
InputStreamReader reader = new InputStreamReader(inputStream);
BufferedReader br = new BufferedReader(reader);
String s = null;
StringBuffer sb = new StringBuffer();
while((s = br.readLine()) != null){
sb.append(s+"\\r\\n");
}
s = sb.toString();
System.out.println(s);
File file = new File(path);
file.getParentFile().mkdirs();
FileOutputStream fileOutputStream = new FileOutputStream(file);
fileOutputStream.write(s.getBytes());
fileOutputStream.close();
br.close();
reader.close();
inputStream.close();
}
public static void recover(String path) throws IOException{
Runtime runtime = Runtime.getRuntime();
//-u后面是用户名,-p是密码-p后面最好不要有空格,-family是数据库的名字,--default-character-set=utf8,这句话一定的加
//我就是因为这句话没加导致程序运行成功,但是数据库里面的内容还是以前的内容,最好写上完成的sql放到cmd中一运行才知道报错了
//错误信息:
//mysql: Character set 'utf-8' is not a compiled character set and is not specified in the '
//C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\Index.xml' file ERROR 2019 (HY000): Can't
// initialize character set utf-8 (path: C:\\Program Files\\MySQL\\MySQL Server 5.5\\share\\charsets\\),
//又是讨人厌的编码问题,在恢复的时候设置一下默认的编码就可以了。
Process process = runtime.exec("mysql -u root -p123456 --default-character-set=utf8 family");
OutputStream outputStream = process.getOutputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(path)));
String str = null;
StringBuffer sb = new StringBuffer();
while((str = br.readLine()) != null){
sb.append(str+"\\r\\n");
}
str = sb.toString();
System.out.println(str);
OutputStreamWriter writer = new OutputStreamWriter(outputStream,"utf-8");
writer.write(str);
writer.flush();
outputStream.close();
br.close();
writer.close();
}
}
分享到:
相关推荐
在提供的压缩包`mysql_bak`中,可能包含了上述的Java源码和相关说明,你可以参考这些代码来理解和实现自己的数据库备份恢复功能。记得在使用这些代码前,要根据你的环境配置进行适当的修改,确保安全性和正确性。 ...
Java作为跨平台的编程语言,提供了丰富的API和库来操作数据库,包括进行数据库的备份与恢复。下面将详细阐述如何使用Java实现MySQL数据库的备份与恢复。 首先,备份MySQL数据库通常涉及两种主要方式:全量备份和...
Java在线备份和还原MySQL数据库,使用mysqldump命令实现备份,使用mysql命令实现的还原,具体大家看源代码吧,在还原的时候足足整了我一个下午才找到错误原因,源代码里面有写原因。大家看代码就知道了。
### Java备份 如果你的项目中已经使用了Java,那么可以通过Java代码调用mysqldump命令来实现自动化备份。首先,需要引入一个能够执行系统命令的库,如Apache Commons Exec。以下是一个简单的示例: ```java import...
标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...
首先,`MysqlBackup.java` 文件很可能是实现备份和恢复功能的核心Java类。在SpringBoot中,我们可以利用JDBC(Java Database Connectivity)API或者Spring Data JPA等库来与MySQL交互。以下是一般备份和恢复过程的...
以下是一个简单的Java备份MySQL数据库的步骤: 1. 引入JDBC驱动:首先需要在项目中添加MySQL的JDBC驱动依赖,以便Java程序可以连接到MySQL服务器。 2. 创建数据库连接:使用`DriverManager.getConnection()`方法,...
总结来说,Java实现MySQL的完整和增量备份与还原涉及使用`mysqldump`和`mysql`命令,以及对二进制日志的理解。在实际操作中,应根据业务规模和需求选择合适的备份策略,并确保备份过程的安全性和有效性。
在IT行业中,数据库管理是至关重要的任务之一,其中包括定期备份和恢复操作。本文将深入探讨如何使用Java语言来实现MySQL数据库...通过分析和理解这些代码,你将能够更好地掌握Java实现MySQL备份与还原的具体实现细节。
java 实现mysql 的备份与恢复,全部代码
恢复MySQL数据库的过程与备份过程类似,但需要使用不同的工具和命令。在本节中,我们将讨论如何使用Java来恢复MySQL数据库。 1. **恢复命令**:使用`mysql`命令来恢复数据库,该命令可以读取SQL脚本文件并执行其中...
总之,使用Java结合Hibernate进行MySQL数据库备份是一种常见的做法,它充分利用了Java的灵活性和Hibernate的便利性,使备份过程更加自动化和可控。开发者可以根据具体需求定制备份策略,实现高效、安全的数据保护。
总结来说,使用Java备份和还原MySQL数据库主要涉及以下几个步骤: 1. 引入MySQL JDBC驱动。 2. 使用`Runtime.getRuntime().exec()`执行`mysqldump`进行备份。 3. 存储备份文件。 4. 使用`Runtime.getRuntime().exec...
总的来说,Java备份和还原数据库涉及到JDBC连接、操作系统命令调用、SQL语句执行等多个方面。了解并掌握这些技术,对于确保数据安全和业务连续性至关重要。同时,根据实际场景选择合适的备份策略,是每个IT专业人员...
恢复类同样继承自Thread类,用于恢复MySQL数据库。其核心逻辑如下: 1. **设置参数**:包括数据库账号(`user`)、密码(`password`)、需要恢复的数据库名称(`database`)以及备份文件的存储路径(`filepath`)。...
在IT行业中,数据库管理是至关重要的任务之一,而MySQL作为广泛应用的关系型数据库管理系统,其数据安全性和可恢复性显得尤为关键。"java_mysql_bak.zip"这个压缩包文件似乎提供了一个用Java编写的解决方案,用于对...
在Java编程中,数据库的备份与恢复是至关重要的任务,特别是在企业级应用中,数据的安全性和完整性至关重要。这个"java数据库备份与恢复小例子(DAO)"是一个实用的示例,它展示了如何利用DAO(Data Access Object)...
利用JDBC连接数据库,不依耐mysql的shell命令, 适合b/s 服务器备份
文件中包含两种备份恢复的方法,一种是用Runtime.getRuntime().exec方法来实现的,另一种方法是使用Apache的command-exec中的方法来实现的。个人使用的是第二种方法
以上就是使用Java备份和还原MySQL数据库的基本步骤和相关知识。在实际项目中,根据需求可能还需要实现更多功能,如日志记录、异常处理、进度监控等。理解这些原理和实践方法对于任何Java开发者在维护数据库系统时都...