通过Spring数据进行数据库备份

时间:2013-02-16 16:20:20

标签: spring spring-data

我需要使用Spring为我的Web应用程序安排定期数据库备份。 Spring Data是否为backupping提供任何特定支持?我打算使用TaskScheduler和TaskExecutor。

2 个答案:

答案 0 :(得分:7)

不,没有具体的支持。 Spring Data用于事务性使用,而不是批处理操作。当然,有findAll()方法可以迭代并将结果存储在某处。

Spring Batch可能是一个更好的选择,因为它专注于长时间运行,繁重的批处理过程。但是恕我直言,你的应用程序不是运行备份的好地方。为什么不使用数据库或OS支持?它会更快,更可靠。

如果您确实需要从应用程序级别备份数据库,请考虑您的数据库手册,可能有一些简单的命令将数据库的内容转储到文件中。例如,在中,我使用来自JdbcTemplate的{​​{3}} SQL命令将数据库转储到任意文件。但我使用这种技术SCRIPT。我使用JdbcTemplate来减少开销。这就是为什么Spring Data不是最好的工具。

在MySQL中有一个mysqldump进程,因此从Java运行起来有点麻烦。

答案 1 :(得分:0)

请点击此链接,以获取有关您的问题的想法 Spring支持它

如果您构建了Maven项目,则将以下依赖项添加到pom.xml中

<dependency>
    <groupId>com.smattme</groupId>
    <artifactId>mysql-backup4j</artifactId>
    <version>1.0.0</version>
</dependency>

如果gradle spring项目

将依赖项添加到build.gradle

编译组:“ com.smattme”,名称:“ mysql-backup4j”,版本:“ 1.0.0”

本文可能有助于理解

https://dzone.com/articles/how-to-backup-mysql-database-programmatically-usin