mysql 数据库自动备份(bat+计划任务方式)--亲测备份及还原成功
利用MySQL提供的备份命令mysqldump
结合Windows的任务计划程序
实现步骤
1.编写脚本
说明:该脚本不会关闭数据库,并且可以按每一天的时间来命名备份文件。
新建一个数据库备份文件的存放目录,如:C:\mysql_backup
注意:目录地址中不要带空格!
新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如下:
rem ******MySQL backup start******
@echo off
::设置时间变量
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%"
::进入mysql安装目录的bin目录下
cd C:\Program Files\MySQL\MySQL Server 5.7\bin\
::执行备份操作
mysqldump --opt --single-transaction=TRUE --user=root --password=123456 --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "testdba" > c:\mysql_backup\backup_%Ymd%.sql
::删除一周前的备份数据
forfiles /p "c:\mysql_backup" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
:: pause
@echo on
rem ******MySQL backup end******
forfiles 为删除过期文件的命令,-d -7 删除7天的文件;
关于时间参数的参考:
%date:~0,10% //提取年月日信息
%date:~-3% //提取星期几信息
%time:~0,5% //提取时间中的时和分
%time:~0,-3% //提取时和分和秒信息
mysqldump 为MySQL提供的备份命令,该命令所在目录为MySQL安装目录下的bin文件夹中,此处直接使用该命令的前提是该命令所在bin文件夹已被设置为系统环境变量,如未设置,则要写全路径;
–user=root 为 MySQL 用户名;
–password=123456 为 MySQL 密码;
–host=127.0.0.1 为 MySQL 主机名;
“testdba” 为要备份的数据库的名称;
backup_%Ymd%.sql 是根据当前时间规则生成备份文件的名称。
2.添加定时任务
在Windows Server2012中,我们进入服务器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:
还原:
mysql > use db_name
mysql > source backup_db_name.sql
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek “源神”启动!「GitHub 热点速览」
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器