zoukankan      html  css  js  c++  java
  • mysql自动备份策略

    目标:每7天做一个完整备份,每天做一份binlog日志,第二周将之前的备份删除并产生新的完整备份和binlog日志,备份要求每天2:00自动完成
    mysql 版本:mysql5.5

    1.开启binlog
    vim /etc/my.cnf
    [mysqld]
    log-bin=binlog
    2.重启mysqld服务
    /etc/init.d/mysqld restart
    验证binlog开启成功
    /usr/local/mysql/var/下会出现binlog.0000001,binlog.index文件
    3.刷新日志产生新的binlog
    mysql -u root -p flush-logs
    4.删除前一时期的日志除了最后一个
    rm -f `sed -n '$!p' binlog.index`
    5.产生新的完整备份
    mysqldum --all-databases -u root -p
    6.删除最后一个日志
    rm -f `sed -n '$p' binlog.index`
    7.产生新的增量备份
    mysqladmin -u root -p flush-logs
    8.删除最后一份日志
    rm -f `sed -n '$!p' binlog.index`
    9.将新的日志信息重新写入binlog.index
    sed -n '$p' binlog.index >tmp
    cat tmp >binlog.index

    操作步骤:
    一.每天凌晨零点一分产生一份binlog,用crontab实现
    crontab -e
    01 00 * * *   mysqladmin -u root -pdbpass flush-logs
    二.用脚本实现每周产生一个新的完整备份,并将原来的增量备份全删除
    1.vim mysql_bak.sh
    #!/bin/bash
    #This script will backup mysql database
    MYSQL_DIR=/usr/local/mysql
    #delete old binlogs except the last one
    rm -f `sed -n '$!p' $MYSQL_DIR/data/binlog.index`
    #backup db 
    mysqldump -u root -pdbpass dbname >/var/backup/dbname_`date +"%Y%m%d"`.sql
    #delete the last binlog
    rm -f `sed -n '$p' $MYSQL_DIR/data/binlog.index`
    #create new binlog by flush-logs
    mysqladmin -u root -pdbpass flush-logs
    #write new binlog into binlog.index
    sed -n '$p' $MYSQL_DIR/data/binlog.index >/tmp/tmp.index
    cat /tmp/tmp.index >$MYSQL_DIR/data/binlog.index
     
    2.mv mysql_bak.sh /usr/local/mysql/bin/
     
    3.crontab实现每周日备份
    crontab -e
    00 02 * * 7     /usr/local/mysql/bin/mysql_bak.sh
     
    更多内容请关注 http://www.cnblogs.com/fukajg/
  • 相关阅读:
    Caused by: java.lang.IllegalArgumentException: Not an managed type: class XXX
    SpringBoot配置文件详细解析
    解决eclipse环境下maven项目tomcat启动,未加载到项目的问题
    CSS+元素,鼠标事件触发鼠标模形变成手状的形状
    LeetCode-Wildcard Matching
    LeetCode-NQueensII
    LeetCode-Climbing Stairs
    LeetCode-Word Search
    LeetCode-Minimum Window Substring
    LeetCode-Largest Rectangle in Histogram
  • 原文地址:https://www.cnblogs.com/fukajg/p/2641697.html
Copyright © 2011-2022 走看看