zoukankan      html  css  js  c++  java
  • MySQL数据库定时备份实操

    本文实例讲述了MySQL定时备份数据库操作。分享给大家供大家参考,具体如下:

    1. 查看mysqldump

    1 root@laowang:/# which mysqldump
    2 /usr/bin/mysqldump
    2. 编写脚本

    编辑my.cnf文件, 指定账号与密码, 然后在脚本中引用


    1 root@laowang:/# vim /etc/my.cnf
    2
    3 [mysqldump]
    4 user=root
    5 password=root

    脚本文件

    1 root@laowang:/var/backups# vim mysql_backup.sh
    2 #!/bin/sh
    3 #################################################
    4 # 备份数据库
    5 #################################################
    6 #mysqldump备份程序执行路径
    7 DUMP=/usr/bin/mysqldump
    8 #备份文件存放路径
    9 OUT_DIR=/var/database
    10 #备份文件所属权限
    11 LINUX_USER=root
    12 #要备份的数据库名字
    13 DB_NAME=laowang
    14 #备份的天数,之前的删除
    15 DAYS=1
    16
    17 #进入备份存放目录
    18 cd $OUT_DIR
    19 #获取当前系统时间
    20 DATE=`date +%Y_%m_%d`
    21 #备份数据库的文件名
    22 OUT_SQL=$DB_NAME"_$DATE.sql"
    23 #最终保存的数据库备份文件名
    24 TAR_SQL=$DB_NAME"_$DATE.tar.gz"
    25 #开始执行备份数据库
    26 $DUMP --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME > $OUT_SQL
    27
    28 #压缩为.tar.gz格式
    29 tar -czf $TAR_SQL ./$OUT_SQL
    30 #删除.sql格式的备份文件
    31 rm $OUT_SQL
    32 #更改备份数据库文件的所有者
    33 chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL
    34 #删除30天前的备份文件(注意:{} ;中间有空格)
    35 find $OUT_DIR -name "*.tar.gz" -type f -mtime +$DAYS -exec rm -f {} ;

    3. 定时计划

    1 root@laowang:/# crontab -e
    2 # m h dom mon dow command
    3 10 10 * * * /var/backups/mysql_backup.sh

    ctrl+X 退出

    y 保存修改

  • 相关阅读:
    [BZOJ4034][HAOI2015]树上操作
    [BZOJ1030][JSOI2007]文本生成器
    [BZOJ2763][JLOI2011]飞行路线
    [POJ3667]Hotel
    [codevs1566]染色
    [codevs2460]树的统计
    [BZOJ2667][cqoi2012][kcoj]模拟工厂
    [NOI2009][codevs1846]KCOJ0191]植物大战僵尸
    [POJ1087]A Plug for UNIX
    Educational Round 66 题解
  • 原文地址:https://www.cnblogs.com/miercler/p/12642570.html
Copyright © 2011-2022 走看看