windows server 定时备份数据库
远程连接数据库:
输入数据库的ip
账号 密码 进入服务器
一、编写脚本:
rem auther:www.yumi-info.com
rem date:20200330
rem ******MySQL backup start********
@echo off
forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"
set "Ymd=%date:~0,4%_%date:~5,2%_%date:~8,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%"
"E:\mysql\MySQL Server 5.6\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 "hxgsptest" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********
其中的关键部分:
forfiles /p "E:\mysql\MySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path"
forfiles 用来对备份目录下的过期备份进行删除。“E:\mysql\MySQL BackUp”是备份文件所在的路径,可以自行修改。“backup_*.sql”指的是该路径下所有以“backup_”开头,以“.sql”作为后缀的数据库备份文件。而后面的数字“30”表示30天过期。
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%0%time:~1,1%%time:~3,2%%time:~6,2%"
使用set命令来定义一个名为“Ymd”的变量,这个变量的值就是后面的一大串规则,简单说就是当前的日期和时间。
"E:\mysql\MySQL Server 5.6\bin\mysqldump"
这一行命令就是调用MySQL自带的备份工具了,注意这个路径必须写成你自己的“mysqldump.exe”所在的路径,一般都是在MySQL安装路径的/bin目录下。而这一行命令后面紧跟着一大串的参数,我们挑几个重要的来解释:
--user=root
--password=123456
--host=127.11.09.1
--port=40007
连接MySQL数据库服务的账户
连接MySQL数据库服务的密码
数据库服务所在的服务器ip地址
数据库服务所在的服务器的端口号
--events "hxgsptest" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
events参数即实现了将数据库备份到一个指定的文件这一操作。"hxgsptest"是需要做备份的数据库,而大于号“>”右边的就是我们的备份文件所保存的服务器目录和文件名了。
二、运行脚本
- 开始 -> 管理工具 -> 任务计划程序。
- 点击创建基本任务 输入名称描述后点击下一步。
- 设置触发时间间隔,我设置的为每周执行一次。
- 创建执行时间,什么时候几点开始执行。
-
设置触发操作,这里设置为启动程序。
-
设置启动是程序(输入路径或者点击浏览确定要执行的脚本)
-
设置完成后点击任务计划程序库可以查看设置好的定时任务。