Windows下自动备份Mysql数据库

首先要安装mysql,然后采用bat脚本和定时任务的策略。
编写备份脚本,然后在windows添加定时任务,脚本会删除过期的备份文件。

@echo off
echo 设置MySql数据库的连接信息

set host=127.0.0.1
set port=3306
set user=root
set pass=xxxxxx

echo 设置要备份的MySql数据库名称

set dbname=testdb
 
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=F:\backData\%dbname%-%backup_date%.sql
 
echo 使用mysqldump对指定的MySql进行备份
echo 注意路径中有空格的要加上双引号
 
"D:\software\mysql\mysql-8.0.13-winx64\bin\mysqldump" -h%host% -P%port% -u%user% -p%pass% -c --add-drop-table %dbname% > %backupfile%
 
echo 删除过期文件,这里是超过30天就删除
 
rem forfiles /p F:\backData /s /m *.sql /d -30 /c "cmd /c del @file /f"

echo 删除过期文件,这里是保留最新的10条记录

for /F "skip=10 eol=: delims=" %F in ('dir /b /o-d F:\backData\*.sql') do @del "%F"

参考:https://blog.csdn.net/xu_hui123/article/details/128395287

MySql备份

我来吐槽

*

*