windows下实现Mysql的自动备份
一、脚本处理文件
先使用txt文档把下面内容复制进去,然后修改后缀.txt为.bat即可
@echo off echo ============================= echo ### mysql database backup bat echo ============================= echo =========当前日期时间========== set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2% echo %nowdate% echo ============================= echo =========IP地址和端口========== set ipconfig=192.168.2.201 echo %ipconfig% echo ============================= echo ======进入到mysql安装目录====== D: cd D:\MySQL\bin echo ============================= echo ====备份mysql文件到指定文件夹==== echo mysql文件备份中... echo ============================= mysqldump -uroot -proot school > "D:\MySQLCopy_File\copy_%ipconfig%_%nowdate%.sql" echo MySQL 备份成功 echo ============================= echo 备份的sql文件 forfiles /p "D:\MySQLCopy_File" /s /m *.sql echo ============================= rem 获取"D:\MySQLCopy_File"目录下的sql文件,并且删除7天前的文件 echo ********************* echo * 按时间删除7天前的sql文件 * echo ********************* echo 删除操作前存在的sql文件 forfiles /p "D:\MySQLCopy_File" /s /m *.sql echo ============================= rem 删除sql文件操作 forfiles /p "D:\MySQLCopy_File" /s /m *.sql /d -7 /c "cmd /c del /q /f @path" echo 删除操作后存在的sql文件 forfiles /p "D:\MySQLCopy_File" /s /m *.sql echo ============================= rem 不关闭窗口操作 rem pause>nul 表示命令窗口不会出现“请按任意键继续” rem pause>nul rem 关闭窗口 @echo 数据库备份操作完成,5秒后关闭程序... ping /n 5 127.1 >nul exit
二、脚本处理文件解析
set:用于设定参数
echo:该命令用于在控制台输出文字信息,更具体可百度了解。
rem:该命令为注释作用,不会在控制台显示
forfiles:该命令对文件进行操作,可参考文章:forfiles命令详解;或自行百度了解
mysqldump:数据库备份命令,上面有介绍
set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%这里可自行百度了解
如果不想关闭窗口,可以使用pause>nul命令(把前面的rem删除即可),并把最后三行代码rem注释掉或删掉
3、脚本需要更改处
set ipconfig=192.168.2.201
更改为自己的ip地址
cd D:\MySQL\bin
更改为自己MySQL所在的安装位置
进入这个目录之前一定要先进入这个目录所在的系统盘;如果是在C盘,则D:\MySQL\bin命令的上一行D:改为C:
mysqldump -uroot -proot school > "D:\mysql_backup\shop%ipconfig%_%nowdate%.sql"
可参考mysqldump命令
高亮部分需要更改,第一处root为账号,改为自己mysql数据库的账号
高亮部分需要更改,第二处root为密码,改为自己mysql数据库的密码
高亮部分需要更改,第三处school为数据库名,改为需要备份的数据库名称
高亮部分需要更改,第四处为备份文件保存的路径,改为需要保存的位置
D:\MySQLCopy_File
这里所有的这个地址均要改为自己的保存地址
forfiles /p “D:\MySQLCopy_File” /s /m *.sql /d -7 /c “cmd /c del /q /f @path”
-7为删除7天前的sql文件;要删除几天前的sql文件,只需要将7改为指定天数
4、脚本执行乱码错误
如果出现乱码错误,可以使用文档编辑.bat文件,选择功能另存为,选择编码格式为ANSI
如果还是出现中文乱码,可以文件内容最顶部加入以下代码,即@echo off这一行代码上面
rem 标注为使用936编码格式编译中文 chcp 936 @echo off
二、Windows定时任务
按图索骥
进入管理页面,选择任务计划程序
如果没有MySQL文件夹则新建一个,在MySQL文件夹下创建任务
输入任务名称和描述
选择每天(这个看自己需要)
选择开始时间(我这里是每天早上九点半)
操作选择“启动程序”
点击浏览,选择上面你创建好的.bat脚本文件,之后下一步、完成即可
创建完成之后就可以在定时任务的列表看到自己创建好的定时任务了,每天早上九点半自动开始备份命令中定义的数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了