每天备份数据库的数据
(小项目里的一种方案)
要求:
1、全表结构+数据备份到 sql文件中
2、压缩sql文件 减少储存体积 (比如 rar)
实现思路
1、使用mysql自带的 mysqldump.exe 工具,把数据导出到sql文件 文件格式 : XX名称_yyyyMMddHHmmss.sql
2、然后使用 WinRAR.exe 进行压缩文件 文件格式 :XX名称_yyyyMMddHHmmss.sql.rar
运行环境
运行环境:windows sever 2012 MySql版本: 5.7.20
其它环境
1、安装有RAR程序,比如安装在 C:\Program Files\WinRAR\WinRAR.exe
2、假设需要备份的库是 FactoryManagement
3、备份到制定的目录 D盘的 【数据备份】 文件夹下 D:\\数据备份\\
4、假设有一个MYSQL本地权限账号是 : root 密码 : root123
编写bat文件 文件名为:back.bat
@echo off
:: 设置文件名 使用系统时间 例如 FM_20210420230001.sql
set bkfile=FM_%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%.sql
:: 使用 mysqldump.exe 来执行命令
%~dp0mysqldump.exe --add-drop-table -R -h127.0.0.1 -uroot -proot123 FactoryManagement > D:/数据备份/%bkfile%
:: 压缩文件
"C:\Program Files\WinRAR\WinRAR.exe" a -ep1 -r -o+ -m5 -df "D:/数据备份/%bkfile%.rar" "D:/数据备份/%bkfile%"
bat编写好保存后 复制到Mysql的安装目录的 bin文件夹下。
因为每天都要备份,可以选择晚上23点开始备份,这里使用windows系统自带的 【任务计划程序】 来执行bat文件。
这样每天都会在数据备份文件夹下产生一个 .sql.rar文件。
RAR 用到命令参数说明:
-df | 压缩后删除文件 |
后期可以把一个月内的rar文件再次打包为一个文件