使用mysqldump Windows按天备份数据库,生成文件以天命名的bat脚本,分为mysql 5.7和8.0版本

文章提供了一个用于备份MySQL数据库的批处理脚本,分别适用于5.7和8.0版本。脚本中展示了两个版本在获取日期方式上的不同,并详细说明了如何设置定时任务进行自动备份。备份文件以数据库名和日期命名,且会删除180天前的旧备份。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql 5.7和8.0版本不同在于日期的获取

备份mysql 5.7 ,保存代码为 mysql-backup-5.7.bat文件。后面在window设置定时任务就可以了



@echo off

REM 获取当前日期
for /f "tokens=2-4 delims=/ " %%i in ('date /t') do set "DATE=%%i%%j%%k"

set dbname=wms_db

REM 定义备份文件名
set BACKUP_FILE=%dbname%_%DATE%.sql

REM 删除180天以前的备份文件
forfiles /p "D:\mysql-backup" /m "*.sql" /d -180 /c "cmd /c del @file"


REM 设置环境变量
set PATH=%PATH%;C:\Program Files\MySQL\MySQL Server 5.7\bin



rem 进入mysql安装目录的bin目录下

cd C:\Program Files\MySQL\MySQL Server 5.7\bin\

::执行备份操作

mysqldump  --defaults-extra-file="D:\mysql-backup\mysql_config.cnf"  %dbname% > D:\mysql-backup\%BACKUP_FILE%


rem echo Backup completed successfully.
rem pause

备份后的文件名为 wms_db_20230328.sql

备份mysql 8.0



@echo off

REM 获取当前日期和时间
for /f "tokens=1-4 delims=- " %%i in ('echo %DATE%') do set "DATE=%%i%%j%%k"

set dbname=wms_db

REM 定义备份文件名
set BACKUP_FILE=%dbname%_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%.sql


REM 删除180天以前的备份文件
forfiles /p "C:\mysql-backup" /m "*.sql" /d -180 /c "cmd /c del @file"


set PATH=%PATH%;C:\Program Files\MySQL\MySQL Server 8.0\bin


::进入mysql安装目录的bin目录下

cd C:\Program Files\MySQL\MySQL Server 8.0\bin\

::执行备份操作

mysqldump  --defaults-extra-file="C:\mysql-backup\mysql_config.cnf"  %dbname% > C:\mysql-backup\%BACKUP_FILE%


rem pause

备份后的文件名为 wms_db_20230328.sql

mysql_config.cnf 为

[client]
user=user
password=password

windows设置任务计划程序

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值