数据库自动备份

新建文本文档,将以下代码复制到改文档中。

rem auther:vio_yx
rem date:20190301
rem ******MySQL backup start********
@echo off
forfiles /p "D:\beifen" /m bf_*.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%"
"D:\phpstudy\PHPTutorial\MySQL\bin\mysqldump" --opt --single-transaction=TRUE --user=root --password=your_pwd --host=127.0.0.1 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "crm8" > "D:\beifen\bf_%Ymd%.sql"
@echo on
rem ******MySQL backup end********

以下是对代码的讲解:

forfiles /p "D:\beifen" /m bf_*.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%"

设置变量Ymd,用于生成备份文件的文件名

"D:\phpstudy\PHPTutorial\MySQL\bin\mysqldump"

这一行命令就是调用MySQL自带的备份工具了,注意这个路径必须写成你自己的“mysqldump.exe”所在的路径,一般都是在MySQL安装路径的/bin目录下。

--user=root

要备份的数据库账户名

--password=your_pwd

要备份的数据库密码

 --host=127.0.0.1

服务器ip地址(就是要备份的数据库所在的服务器的ip)

--port=3306

数据库服务所在的服务器的端口号

--events "db_name" > "D:\beifen\bf_%Ymd%.sql"

events参数即实现了将数据库备份到一个指定的文件这一操作。"db_name"是需要做备份的数据库名,而大于号“>”右边的就是我们的备份文件所保存的路径。

改好之后,将文件重命名为xxx.bat,点击一下,D:\beifen目录下就会生成一个sql文件(即备份文件)

接下来设置windows自动执行(定时器)
1.在电脑‘开始’里面搜索‘任务计划程序’。
数据库自动备份_第1张图片
2.点击创建基本任务
数据库自动备份_第2张图片
3.输入任务名称和描述(想输什么都可以)
数据库自动备份_第3张图片
4.设置任务开始时间
数据库自动备份_第4张图片
数据库自动备份_第5张图片
数据库自动备份_第6张图片
选择第一步写的bat文件数据库自动备份_第7张图片
点击下一步,完成。(至此操作就全部完成了,系统会在你设置的时间根据你设置的频率进行数据库备份),你可以查看你创建的定时器。

数据库自动备份_第8张图片

你可能感兴趣的:(数据库自动备份)