场景

在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

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

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

  1. Linux实现MYSQl数据库的定时备份

    今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...

  2. navcat定时备份mysql_Linux实现MYSQl数据库的定时备份

    今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...

  3. mysql自动定时备份数据,mysql数据库自动定时备份脚本

    1.shell脚本如下: Now=$(date +"%d-%m-%Y") File=/tmp/mysqldump238CEM/MysqlDumpFile238CEM-$Now.sq ...

  4. 在Asp.net core 项目中操作Mysql数据库

    工程环境 : win10+asp.net core 2.1 + vs2017 步骤: 1 在vs中新建asp.net core  项目 2 在Nuget中为项目添加第三方包microsoft.visu ...

  5. mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...

    项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...

  6. java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库

    javaweb之eclipse工程连接mysql数据库 准备工作: 1.在mysql官网下载mysqlconnection的jar包 输入网址:mysql.com-点击DOWNLOADS--下拉选择M ...

  7. Java定时备份MySql数据库 Java定时备份数据库 Java备份MySql数据库 java定时备份mysql数据库 java备份mysql数据库

    1.定时任务类 import com.mh.jishi.util.DbUtil; import lombok.extern.slf4j.Slf4j; import org.springframewor ...

  8. Mysql数据库每天定时备份

    1.先检查安装crontabs yum install crontabs 2.在home目录下指定路径新建文件夹 3.新建执行脚本,在里面写入命令 touch mysql_backup.sh shel ...

  9. jsp中从mysql导出数据格式_MySQL导入导出.sql文件方法(转载)

    MySQL导入导出.sql文件步骤如下: 一.MySQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=":path/mysq ...

最新文章

  1. OpenGL学习笔记3 —— 绘制3D物体、鼠标交互、反向变换
  2. 第一个晶体管是如何工作的?
  3. java当中的定时器怎么做_java当中的定时器的4种使用方式
  4. [Google Guava] 11-事件总线
  5. java多态调用优先级_关于java的多态方法调用顺序的问题
  6. Scrum基础知识体系和感想
  7. 恒企自考_致自考生:想自考的人千千万万,遇到的困难却千篇一律
  8. python中while语句的用法_全面解析Python的While循环语句的使用方法
  9. 死锁(python 版)
  10. leetcode - 1201. 丑数 III
  11. 测试或运维工作过程中最常用的几个linux命令?
  12. 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
  13. 学c语言前要了解什么软件,学习c语言需要什么软件?
  14. 我国标准时间授时方法
  15. 香农编码译码c语言,实验三香农编码.doc
  16. 编写程序模拟用户输入手机号码、邮箱号码、座机号码,验证格式是否正确并给出提示,直到格式输入正确为止
  17. 常用媒体查询以及手机横竖屏监听
  18. 查看XBox360的系统版本信息
  19. 2021-07-18 三种视图的dicom文件的生成
  20. USACO2018JAN Gold

热门文章

  1. Spring核心部分之AOP,aspectJ框架实现AOP,切入点表达式
  2. java语言简单代码_java语言编程如何实现一个最简单程序?
  3. 为什么0的补码形式只有一种?
  4. 基于ffmpeg的流媒体服务器
  5. EXCEL导入导出使用的框架
  6. 在使用net start mysql命令时提示键入 net helpmsg 3523错误
  7. 分布式CAP详解,为什么三个指标不可能同时做到。
  8. mysql数据回滚占用id吗_mysqlbing 回滚数据问题
  9. 没有与这些操作数【】匹配的运算符_[02]java数据类型和运算符等知识
  10. volumio怎么连接屏幕_电视机维修电话|电视开起一闪一闪的,是怎么回事?