zoukankan      html  css  js  c++  java
  • MySQL备份与恢复实战案例及生产方案

    按天备份


    按周备份


    mysql的mysqldump备份什么时候能派上用场
    1,迁移或者升级数据库时
    2,增加从库的时候
    3,如果因为硬件或特殊情况,主库或者从库宕机,主从可以互相切换,无需备份
    4,人为的DDL,DML语句,主从库没办法了,所有库都会执行,因此需要备份
    5,跨机房


    增量恢复
    一般有人为(或程序)逻辑的方式在数据库执行的SQL语句等误操作,才需要增量恢复,因为此时,所有的从库也执行了误操作语句


    MySQL增量恢复的必备条件
    1)开启MySQL的log-bin日志功能(主从库都需要开启binlog记录功能;存在一份全备加上全备之后的试看看到出问题时刻的所以增量binlog文件备份)

    2)存在MySQL数据库全备
    a:生产环境mysqldump备份命令,在凌晨某一时刻进行数据全备(生产环境一般通过定时任务每日凌晨执行),备份命令如下
    mysqldump -uroot -p123qwe --default-character-set=gbk --single-transaction -F -B oldboy |gzip > /tmp/aaaaa/aa.sql.gz
    b:innodb引擎备份:
    mysqldump -uroot -p123qwe -S -F --single-transaction -A -B|gzip
    c:myisam引擎备份
    mysqldump -uroot -p123qwe -S -F -A -B --lock-all-tables|gzip


    恢复全过程(重点):
    通过防火墙禁止web等应用向主库写数据或锁表,让主库暂时停止更新,然后在进行恢复;
    1)检查全备
    2)检查增量备份binlog


    1,停止一个从库,然后在主库刷新binlog,把mysql-bin 恢复成bin.sql(去掉drop语句)
    2,把全备bak.sql及十点前的增量bin.sql恢复到从库
    3,数据丢多少?10:10分刷新binlog以后的数据,mysql-bin.000015
    4.停止主库,把mysql-bin.000015解析为sql,恢复到从库,切换到从库提供服务

  • 相关阅读:
    12 python json&pickle&shelve模块
    11 python shutil 模块
    10 python os&sys 模块
    9 random模块
    8 python time$datetime
    7 python 模块间相互导入
    6 unit3-文件操作&函数 review
    3 Python 函数介绍
    hibernate课程 初探单表映射2-6 session详解(下)
    hibernate课程 初探单表映射2-5 session详解(上)
  • 原文地址:https://www.cnblogs.com/liyongsan/p/5351546.html
Copyright © 2011-2022 走看看