下面小编就为大家分享一篇在 Windows 环境下使用 MySQL: 实现自动定时备份的方法, 具有很好的参考价值, 希望对大家有所帮助一起跟随小编过来看看吧
一编写备份脚本
- rem auther:www.yumi-info.com
- rem date:20171222
- 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%0%time:~1,1%%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 "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
- @echo on
- rem ******MySQL backup end********
这是一段很常见的 windows 批处理脚本文件, 我来简单解释一下其中的关键部分:
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
连接 MySQL 数据库服务的账户, 通常该账户必须具备数据库备份操作的权限为了简便我们使用了 root, 但是在实际生产环境中并不建议使用 root 账户, 避免账户和密码泄露, 从而造成不必要的麻烦
--password=123456
这是连接 MySQL 数据库服务的密码
--host=127.0.0.1
这是数据库服务所在的服务器 ip 地址
--port=3306
这是数据库服务所在的服务器的端口号
--events "yumi_website" > "E:\mysql\MySQL BackUp\backup_%Ymd%.sql"
events 参数即实现了将数据库备份到一个指定的文件这一操作 "yumi_website" 是需要做备份的数据库, 而大于号 > 右边的就是我们的备份文件所保存的服务器目录和文件名了
二设定 Windows 任务
完成了上述步骤后, 我们需要添加 Windows 计划任务
在 Windows Server2012 中, 我们进入服务器管理面板, 点击右上角菜单栏中的工具, 选择其中的任务计划程序:
打开了任务计划程序之后, 我们点击右侧的创建基本任务:
然后, 我们需要填写任务的名称, 以及描述信息:
点击下一步之后, 我们需要设定任务的执行频率, 我选择的是每天:
再次点击下一步, 设置任务执行的时间, 我选择了夜深人静的 1 点:
在下一步中, 我们选择启动程序:
在之后的对话框中, 我们需要选择刚才所编写的批处理文件:
完成这些步骤后, windows 会给我们看一下整个任务的概述信息:
确定无误之后, 点击完成就可以了此时我们就会看到在 Windows 的任务列表里, 多了一条新的任务:
至此, 在 Windows 环境下自动备份 MySQL 的设置就全部完成了
来源: http://www.phperz.com/article/18/0221/362507.html