澳门至尊网站-首页

您的位置:澳门至尊网站 > 技术教程 > 数据库自动备份服务,达成全自动定期备份

数据库自动备份服务,达成全自动定期备份

2019-10-19 18:41

数据库自动备份服务,带配置,还算能够啊

一、编写备份脚本

周六抽时间,编写了二个如此的工具,能够让,对数据库不领会或不熟知的人,间接学会使用备份,省时省力,同样,小编也将豆蔻梢头份,通过脚本举行备份的,也进献上来,

rem auther:www.yumi-info.com
rem date:20171222
rem ******MySQL backup start********
@echo off
forfiles /p "E:mysqlMySQL 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:mysqlMySQL Server 5.6binmysqldump" --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:mysqlMySQL BackUpbackup_%Ymd%.sql"
@echo on
rem ******MySQL backup end********
  1. 经过sql脚本实行数据库备份

那是风华正茂段很宽泛的windows批管理脚本文件,作者来总结解释一下在那之中的机要部分:

经过脚本备份数据库,同样也补助压缩,不过须求设置winrar来促成,全部来讲也还可以,在服务器上创办二个 维护安排,就能够完成,也是很方便的,脚本如下:

forfiles /p "E:mysqlMySQL BackUp" /m backup_*.sql -d -30 /c "cmd /c del /f @path" 
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;
RECONFIGURE;
declare @prefix         nvarchar(100),
        @datefile       nvarchar(100),
        @bakfile        nvarchar(100),
        @rarfile        nvarchar(100),
        @rarcmd         nvarchar(150),
        @str_date       nvarchar(100),
        @sql            nvarchar(100)

--设置备份的目录      
set @prefix='D:/DataBase/' 
set @str_date = replace(replace(replace(convert(varchar(20),getdate(), 120),' ',''),'-',''),':','')
set @datefile = 'xx' +@str_date
set @bakfile = @prefix+@datefile+'.bak'
set @rarfile = @prefix+@datefile+'.rar'
--备份
BACKUP Database mpe_db_Data TO DISK = @bakfile WITH NOFORMAT, NOINIT,  NAME = N'xx-完整 数据库 备份', SKIP, NOREWIND, NOUNLOAD,  STATS = 10
--压缩rar
set @rarcmd ='"c:Program FilesWinRARwinrar.exe" ' +'a -df ' +@rarfile+' '+@bakfile
exec master..xp_cmdshell @rarcmd,NO_OUTPUT;

forfiles 用来对备份目录下的逾期备份举办删减。“E:mysqlMySQL 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%" 
  • 您是还是不是要问,这删除文件呢?

    --删除15天早前的备份 set @sql='del d:DataBasexx' +rtrim(replace(replace(replace(convert(varchar(20),getdate()-15, 120),' ',''),'-',''),':',''))+'.rar'

应用set命令来定义一个名字为“Ymd”的变量,那一个变量的值正是背后的一大串准则,轻松说正是当下的日期和时间

为何删除15天的?你想删除多少天,自身写, -15 的15,随你填写。

"E:mysqlMySQL Server 5.6binmysqldump" 

好了,言归正传,上面是自个儿编写的windows 服务完结,请看:

那蒸蒸日上行命令正是调用MySQL自带的备份工具了,注意这一个渠道必得写成你自个儿的“mysqldump.exe”所在的门道,日常都以在MySQL安装路线的/bin目录下。而那大器晚成行命令前面紧跟着第一次全国代表大会串的参数,大家挑多少个根本的来讲解:

  1. 通过C#澳门至尊网站,编写制定的windows服务进行数据库备份
--user=root 

运用方式如下

连天MySQL数据库服务的账户,平日该账户必得具备数据库备份操作的权能。为了省事大家利用了root,不过在实质上生产条件中并不提出使用root账户,制止账户和密码走漏,进而形成不要求的难为。

  • 通过 服务配置工具.bat 配置和安装windows服务
--password=123456 

没了,嘎嘎。。上图

那是接连MySQL数据库服务的密码

澳门至尊网站 1

--host=127.0.0.1 

图1 使用管理员,张开安插脚本

那是数据库服务所在的服务器ip地址

澳门至尊网站 2

--port=3306 

图2 根据提示举办布局操作,输入1 是走入配置

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

澳门至尊网站 3

--events "yumi_website" > "E:mysqlMySQL BackUpbackup_%Ymd%.sql" 

图3 配置分界面

events参数即落到实处了将数据库备份到一个点名的文件那黄金时代操作。"yumi_website"是索要做备份的数据库,而不止号“>”左侧的就是大家的备份文件所保存的服务器目录和文件名了。

 澳门至尊网站 4

二、设定Windows任务

图4 安装到位后,运转服务

完了了上述手续后,大家必要增加Windows安顿任务。

好了,全体操作演示达成,是还是不是说,那么师傅,代码呢?

在Windows Server2011中,大家步向服务器管理面板,点击右上角菜单栏中的“工具”,选拔中间的“职分陈设程序”:

楼下五步走

澳门至尊网站 5

↓↓↓↓

开发了职责安顿程序之后,大家点击侧面的“成立基本职分”:

↓↓↓↓

澳门至尊网站 6

↓↓↓↓

然后,大家须要填写任务的名称,以至描述音讯:

↓↓↓↓

澳门至尊网站 7

↓↓↓↓

点击下一步之后,大家必要设定任务的施行功效,作者选取的是“天天”:

CSDN下载地址:

澳门至尊网站 8

临时还并未有经过,得等等才通过核实,刚刚上传上

再度点击“下一步”,设置任务施行的大运,小编采纳了寂静的1点:

(代码纯手工业创设,要点积分,别在乎哈)

澳门至尊网站 9

代码蒙受一个纤维bug,当备份数据库宏大时,有的服务器会并发逾期现象,笔者将SqlCommand的 CommandTimeout值设置为3600秒了,难点一挥而就,因为数量大小是三12个G,降低日志之后,所以出现了这几个主题素材,以消除,各位自行修改代码消除即可,代码如下:

在“下一步”中,咱们选用“运行程序”:

 

澳门至尊网站 10

 澳门至尊网站 11

在其后的对话框中,大家必要选用刚刚所编写的批管理公事:

调用处

澳门至尊网站 12

贯彻代码如下:

完毕这个步骤后,windows会给大家看一下全数任务的概述新闻:

 public static int ExecuteSqlSetTimeOut(string cmdText, int timeOut)
        {
            SqlCommand cmd = new SqlCommand();
            PrepareCommand(cmd, connection, null, CommandType.Text, cmdText, null);
            cmd.CommandTimeout = timeOut;
            int val = cmd.ExecuteNonQuery();
            cmd.Parameters.Clear();
            return val;
        }

澳门至尊网站 13

完事~!!!啦啦啦。。。

规定科学之后,点击“达成”就足以了。此时我们就拜会到在Windows的职责列表里,多了一条新的天职:

 

澳门至尊网站 14

 

由来,在Windows境遇下活动备份MySQL的装置就全体形成了。

上述那篇在Windows情况下使用MySQL:达成机关定时备份正是作者共享给大家的整体内容了,希望能给我们一个参照,也愿意我们多多指教脚本之家。

您也许感兴趣的篇章:

  • Windows 64 位 mysql 5.7之上版本包解压中一贯不data目录和my-default.ini及劳动无法起动的神速化解办法(难点计算)
  • Mysql5.7在windows7下my.ini文件加载路线及数量地方修改章程
  • Windows下mysql5.7.21设置详细教程
  • Windows系统下mysql5.7.21设置详细教程
  • mysql 5.7.21 安装配备情势图像和文字化教育程(window)
  • Windows下MySQL下载与安装、配置与利用教程
  • window系统mysql不能输入和不大概彰显汉语的缓和措施

本文由澳门至尊网站发布于技术教程,转载请注明出处:数据库自动备份服务,达成全自动定期备份

关键词: