【MySQL】批处理实现数据库自动备份



    数据库自动备份是常见任务,为了数据的安全性和可恢复性,这个也是必须的。数据是网站之本,一旦出现意外情况,自然需要还原。

    前面曾介绍过一款叫 MySQLDumper 的工具,但MySQLDumper无法实现自动备份,于是考虑了用Windows的计划任务+批处理来实现MySQL数据库的自动备份。



    操作步骤如下:

    1、建立批处理程序文件data_backup.cmd,输入以下两行命令即可。

    mysqldump --default-character-set=utf8 --skip-lock-tables -hlocalhost -P3306 -uusername -ppassword uchome > %date:~0,10%_uchome.sql
    forfiles /d -7 /m *.sql /c "cmd /c del /f @file"

    第一行命令为备份数据库uchome为 日期_uchome.sql 数据文件。mysqldump参数含义罗列如下:

    • --default-character-set 数据库使用的编码
    • --skip-lock-tables 忽略锁定的表格
    • -h 主机名
    • -P 端口号
    • -u 用户名
    • -p 密码
    • 更多参数可以通过 mysqldump --help 查看。

    第二行命令为删除7天以前的备份文件。forfiles参数含义罗列如下:

    • /d [{+ | -}] [{MM/DD/YYYY | DD}]   选择日期大于或等于 (+)(或者小于或等于 (-))指定日期的文件,其中 MM/DD/YYYY 是指定的日期,DD 是当前日期增加 DD 天。如果未指定 +-,则使用 +DD 的有效范围是 0 - 32768。
    • /m SearchMask  按照 SearchMask 搜索文件。默认的 SearchMask*.*
    • /c Command  在每个文件上运行指定的 Command。带有空格的命令字符串必须用引号括起来。默认的 Command 是 "cmd /c echo @file"。
    • @file 指代文件名
    • 更多参数可以通过 forfiles/? 查看。

    注:forfiles命令为Windows 2003上的命令, XP上没有这个命令。

    2、添加计划任务,将刚建立的批处理文件data_backup.cmd按每天一起运行一遍。考虑到备份的稳定和不影响系统,一般安排在凌晨执行备份。

    经过如此配置,便实现了每天对MySQL数据库执行备份,且只保留7天内的备份。



    本博客所有文章如无特别注明均为原创。
    复制或转载请以超链接形式注明转自枫芸志,原文地址《【MySQL】批处理实现数据库自动备份
    标签:
    分享:

已经有3 条评论抢在你前面了~

  1. 沙发
    记忆 2009年10月23日 上午5:28

    回返,呵呵。有空记得去我那踩踩哦?

    [回复]

  2. 板凳
    mosky 2009年10月22日 下午7:26

    对于WordPress我一般使用WordPress 的备份插件备份的哈哈

    [回复]

    晴枫

    晴枫 回复:

    @mosky, WordPress我也是用插件来备份,上面的批处理是给别的信息系统做的

    [回复]

无觅相关文章插件,快速提升流量