zoukankan      html  css  js  c++  java
  • windows环境设置mysql自动备份(测试成功)

    00、背景介绍

    最近做了个小程序,使用的是mysql数据库,涉及到将程序数据备份的事;虽然大部分数据库客户端工具都具有备份功能,但并不能做到定期自动备份;在Windows环境下,手工备份MySQL是很繁琐的,所以我们
    要实现数据库的自动备份就需要一下两步:

    • 利用MySQL提供的备份命令mysqldump
    • 结合Windows的任务计划程序

    01、实现步骤

    1、编写脚本

    • 说明:此方法可以不用关闭数据库,并且可以按每一天备份的时间来命名备份文件。

    新建一个数据库备份文件的存放目录,如:C:mysql_backup
    注意:目录地址中不要带空格!
    新建一个批处理文件,如:mysql_backup_tool.bat,文件内容如下:

        rem ******MySQL backup start******
        @echo off
        
        ::删除一周前的备份数据
        forfiles /p "c:mysql_backup" /m backup_*.sql -d -7 /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%"
        
        ::进入mysql安装目录的bin目录下
        cd C:Program FilesMySQLMySQL Server 5.7in
        ::执行备份操作
        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 "testdba" > c:mysql_backupackup_%Ymd%.sql
        
        @echo on
        rem ******MySQL backup end******
    • forfiles 为删除过期文件的命令,-d -7 删除7天的文件;
    • 关于时间参数的参考:
            %date:~0,10%      //提取年月日信息
            %date:~-3%         //提取星期几信息
            %time:~0,5%         //提取时间中的时和分
            %time:~0,-3%       //提取时和分和秒信息
    • mysqldump 为MySQL提供的备份命令,该命令所在目录为MySQL安装目录下的bin文件夹中,此处直接使用该命令的前提是该命令所在bin文件夹已被设置为系统环境变量,如未设置,则要写全路径;
    • –user=root 为 MySQL 用户名;
    • –password=123456 为 MySQL 密码;
    • –host=127.0.0.1 为 MySQL 主机名;
    • “testdba” 为要备份的数据库的名称;
    • backup_%Ymd%.sql 是根据当前时间规则生成备份文件的名称。

    2、添加定时任务

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

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


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


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


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


    继续“下一步”后,我们选择“启动程序”:


    在之后的对话框中,我们需要选择刚才所编写的批处理文件:


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


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

    至此,在Windows环境下自动备份MySQL的设置就全部完成了。

    顺便展示下我的备份测试结果:

  • 相关阅读:
    systemverilog中堵塞和非堵塞事件以及同步
    Win 10最大的亮点不是免费而是人工智能
    STL源代码学习(vector篇)
    【金阳光測试】大话Android自己主动化測试--Android自己主动化系列(1)--金阳光于2013年4月份
    [PHP]怎样在SAE的CodeIgniter项目中隐藏掉index.php
    ubuntu 非长期支持版升级系统版本号(ssh登录情况适用)
    #26 Remove Duplicates from Sorted Array
    怎样建设内网网站
    scrollView and tableView
    关于Kingfisher--备用
  • 原文地址:https://www.cnblogs.com/mmzs/p/10063176.html
Copyright © 2011-2022 走看看