SpringBoot项目中对mysql数据库进行定时备份为sql文件的实现思路

场景

在SpringBoot搭建的项目架构中,为了防止数据库被清库或者误删数据库的情况。

所以需要一个定时将mysql的数据库中的数据进行备份成sql文件,并将重要的sql文件通过邮件服务器的方式

发送到邮箱。

之前介绍过若依前后端分离版本地搭建开发环境并运行项目的教程:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662

这样能快速的搭建一个SpringBoot的项目框架。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

并且上面的项目框架已经将定时任务的功能集成好,所以只需要在定时任务的具体实现中

先将sql文件进行导出,再将其压缩成zip包,然后通过邮件服务器将部分zip发动到指定邮箱。

Java中使用mysqldump实现mysql数据库备份并将sql文件打成zip压缩包:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/111634239

这里选择的是使用mysqldump的方式将数据库导出为sql

具体可以根据自己的需求选择要导出的数据库、表以及导出表结构还是数据还是符合条件的数据。

具体可以自行搜索mysqldump命令。

这样就可以将数据库备份到服务器上的某路径下

 

然后这里压缩成zip也是将单个sql文件进行压缩,如果系统中的表比较多

并且导出的要求不一样,可以将每一个表都导出为一个sql,然后存进目录,对目录进行压缩。

因为有的表存放的都是些记录数据等一些没用的历史数据。

所以发送邮件时需要选择部分有用的sql的zip以附件的方式发送到指定邮箱。

SpringBoot中整合Mail实现发送带附件的邮件:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/89321037

可以参考上面发送附件的邮件的方式。

原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/14184661.html