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设置任务计划程序