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

可以參考上面發送附件的郵件的方式。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM