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
可以参考上面发送附件的邮件的方式。
SpringBoot项目中对mysql数据库进行定时备份为sql文件的实现思路相关推荐
- Linux实现MYSQl数据库的定时备份
今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...
- navcat定时备份mysql_Linux实现MYSQl数据库的定时备份
今天给大家分享一下如何在Linux下实现MYSQl数据库的定时备份. 前提需要保证你的Linux服务器已经安装了MYSQl数据库服务. 1.创建shell脚本 vim backupdb.sh 创建脚本 ...
- mysql自动定时备份数据,mysql数据库自动定时备份脚本
1.shell脚本如下: Now=$(date +"%d-%m-%Y") File=/tmp/mysqldump238CEM/MysqlDumpFile238CEM-$Now.sq ...
- 在Asp.net core 项目中操作Mysql数据库
工程环境 : win10+asp.net core 2.1 + vs2017 步骤: 1 在vs中新建asp.net core 项目 2 在Nuget中为项目添加第三方包microsoft.visu ...
- mysql定期执行备份语句_【mysql】备份篇1:使用系统计划任务+mysqldump 定时备份mysql数据库 不用输入密码自动导出sql文件...
项目部署在服务期上之后,有了新的需求,需要每月定时备份mysql数据库的所有数据! 查找了网上的多篇文章之后,自己又对bat文件中的mysqldump语句进行改进,可以实现了不用输入密码就能自动定时备 ...
- java web项目中连接mysql数据库,javaweb之eclipse工程连接mysql数据库
javaweb之eclipse工程连接mysql数据库 准备工作: 1.在mysql官网下载mysqlconnection的jar包 输入网址:mysql.com-点击DOWNLOADS--下拉选择M ...
- Java定时备份MySql数据库 Java定时备份数据库 Java备份MySql数据库 java定时备份mysql数据库 java备份mysql数据库
1.定时任务类 import com.mh.jishi.util.DbUtil; import lombok.extern.slf4j.Slf4j; import org.springframewor ...
- Mysql数据库每天定时备份
1.先检查安装crontabs yum install crontabs 2.在home目录下指定路径新建文件夹 3.新建执行脚本,在里面写入命令 touch mysql_backup.sh shel ...
- jsp中从mysql导出数据格式_MySQL导入导出.sql文件方法(转载)
MySQL导入导出.sql文件步骤如下: 一.MySQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=":path/mysq ...
最新文章
- OpenGL学习笔记3 —— 绘制3D物体、鼠标交互、反向变换
- 第一个晶体管是如何工作的?
- java当中的定时器怎么做_java当中的定时器的4种使用方式
- [Google Guava] 11-事件总线
- java多态调用优先级_关于java的多态方法调用顺序的问题
- Scrum基础知识体系和感想
- 恒企自考_致自考生:想自考的人千千万万,遇到的困难却千篇一律
- python中while语句的用法_全面解析Python的While循环语句的使用方法
- 死锁(python 版)
- leetcode - 1201. 丑数 III
- 测试或运维工作过程中最常用的几个linux命令?
- 蓝牙 查询码 android,android bluetooth UUID蓝牙查询表
- 学c语言前要了解什么软件,学习c语言需要什么软件?
- 我国标准时间授时方法
- 香农编码译码c语言,实验三香农编码.doc
- 编写程序模拟用户输入手机号码、邮箱号码、座机号码,验证格式是否正确并给出提示,直到格式输入正确为止
- 常用媒体查询以及手机横竖屏监听
- 查看XBox360的系统版本信息
- 2021-07-18 三种视图的dicom文件的生成
- USACO2018JAN Gold
热门文章
- Spring核心部分之AOP,aspectJ框架实现AOP,切入点表达式
- java语言简单代码_java语言编程如何实现一个最简单程序?
- 为什么0的补码形式只有一种?
- 基于ffmpeg的流媒体服务器
- EXCEL导入导出使用的框架
- 在使用net start mysql命令时提示键入 net helpmsg 3523错误
- 分布式CAP详解,为什么三个指标不可能同时做到。
- mysql数据回滚占用id吗_mysqlbing 回滚数据问题
- 没有与这些操作数【】匹配的运算符_[02]java数据类型和运算符等知识
- volumio怎么连接屏幕_电视机维修电话|电视开起一闪一闪的,是怎么回事?