@echo off
echo 设置MySql数据库的连接信息
set host=127.0.0.1
set port=3306
set user=root
set pass=12345
echo 设置要备份的MySql数据库名称
set dbname=test-dev
echo 获取当天的日期格式,例如:2022122031300
set hour=%time:~0,2%
if "%time:~0,1%"==" " set hour=0%time:~1,1%
set backup_date=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%Time:~6,2%
echo 设置备份文件的路径
set backupfile=H:\sqlback\localhost\%dbname%-%backup_date%.sql
echo 使用mysqldump对指定的MySql进行备份
echo 注意路径中有空格的要加上双引号
"F:\devTool\mysql8\mysql-8.0.29-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% --single-transaction=TRUE -c --add-drop-table %dbname% > %backupfile%
echo 删除过期文件,这里是超过7天就删除
forfiles /p H:\sqlback\localhost /s /m *.sql /d -7 /c "cmd /c del @file /f"
F:\devTool\mysql8\mysql-8.0.29-winx64\bin\mysqldump 为我本都服务器的安装目录
H:\sqlback\localhost\ 为我的备份目录
注意:此处也是可以定时备份线上数据库,修改为自己服务器的地址和账号密码就行,mysql 版本需要一直,不然会有备份不成功的可能。