MFC实现mysql备份_MySQL如何自动备份 - MySQL - VC中文网-VC-MFC编程论坛 - Powered by Discuz!...

本文介绍了如何使用MFC在Windows Server 2012上创建一个批处理脚本来运行MySQL的mysqldump工具进行数据库备份,并通过Windows任务计划程序设置每日备份。详细步骤包括编写备份脚本、设置删除过期备份以及创建和配置任务计划。此方法适用于希望利用官方工具并避免依赖第三方软件的开发者。
摘要由CSDN通过智能技术生成

MySQL如何自动备份-1.jpg (64.55 KB, 下载次数: 0)

2018-11-11 10:38 上传

MySQL

Hi~程序员们,巨匠好啊~好久不见了,有没有想我呀~

MySQL如何自动备份-2.jpg (40.93 KB, 下载次数: 0)

2018-11-11 10:38 上传

各位知道,MySQL是一款十分好用且强大的数据库软件,最最关键的是,它免费!免费!免费!MySQL自己所提供的管理控制程序"MySQL Workbench"功能也是十分强大,并且已经自带了数据库备份工具。可是这么美好的工具偏偏就没有按期自动备份的功能,这着实让广大使用MySQL为客户进行办事的程序员们大伤脑筋。

很多朋友会说,你可以使用第三方工具呀,很多好用的第三方MySQL管理工具都带有自动备份策略管理工具的。嗯,事理我都懂,可是我就是忍受不了放着官朴直室不消,转而去用“小三”啊~

偏偏正巧这段时间在工作的过程中,为客户的一个MySQL数据库做了一次自动备份。虽然过程相当简单,可是还是想着记录下来,分享给巨匠吧。

操作系统:Windows Server 2012 x64

数据库:MySQL 5.x

由于这个客户的办事器环境是Windows系列的,因此自动备份策略最简单的一个想法就是使用Windows的任务计划程序来完成了。

编写备份脚本程序

首先我们需要了解,MySQL已经自带一个数据库备份工具“mysqldump.exe”了,这个工具会呈现在MySQL的安装目录下的/bin文件夹下。

知道了这点之后,我们就自己编写一段脚本,来执行这个备份工具:

注意:以下代码在PC端浏览效果更加

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"是需要做备份的数据库,而大于号“>”右边的就是我们的备份文件所保存的办事器目录和文件名了。

怎么样,不难吧。将上面这一大段批措置脚本保存为一个.bat文件就可以了。保存完该文件后,我们可以先自己双击执行一下,看看有没有在自己指定的路径下生成一个备份文件。

Windows计划任务

完成了上述步调后,我们需要添加Windows计划任务。

在Windows Server2012中,我们进入办事器管理面板,点击右上角菜单栏中的“工具”,选择其中的“任务计划程序”:

MySQL如何自动备份-3.jpg (36.92 KB, 下载次数: 0)

2018-11-11 10:38 上传

任务计划程序

打开了任务计划程序之后,我们点击右侧的“建立基本任务”:

MySQL如何自动备份-4.jpg (56.17 KB, 下载次数: 0)

2018-11-11 10:38 上传

建立基本任务

然后,我们需要填写任务的名称,以及描述信息:

MySQL如何自动备份-5.jpg (36.75 KB, 下载次数: 0)

2018-11-11 10:38 上传

填写任务名称

点击下一步之后,我们需要设定任务的执行频率,我选择的是“每天”:

MySQL如何自动备份-6.jpg (30.92 KB, 下载次数: 0)

2018-11-11 10:38 上传

选择任务执行频率

再次点击“下一步”,设置任务执行的时间,我选择了夜深人静的1点:

MySQL如何自动备份-7.jpg (29.5 KB, 下载次数: 0)

2018-11-11 10:38 上传

设置任务执行时间

在“下一步”中,我们选择“启动程序”:

MySQL如何自动备份-8.jpg (28.61 KB, 下载次数: 0)

2018-11-11 10:38 上传

选择“启动程序”

在之后的对话框中,我们需要选择适才所编写的批措置文件:

MySQL如何自动备份-9.jpg (33.84 KB, 下载次数: 0)

2018-11-11 10:38 上传

选择批措置文件

完成这些步调后,windows会给我们看一下整个任务的概述信息:

MySQL如何自动备份-10.jpg (45.05 KB, 下载次数: 0)

2018-11-11 10:38 上传

任务概述信息

确定无误之后,点击“完成”就可以了。此时我们就会看到在Windows的任务列内外,多了一条新的任务:

MySQL如何自动备份-11.jpg (67.07 KB, 下载次数: 0)

2018-11-11 10:38 上传

任务列表

好了,一切准备就绪,接下来就是每天查看数据库备份是否正常生成了。怎么样,很简单吧。各位给个关注呗~

MySQL如何自动备份-12.jpg (45.67 KB, 下载次数: 0)

2018-11-11 10:38 上传

求关注

更多内容回复查看:

游客,如果您要查看本帖隐藏内容请回复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值