zoukankan      html  css  js  c++  java
  • mysql数据库备份与恢复

    参考文档:https://mp.weixin.qq.com/s/na7uM5sCyydq9AbOUqV1pA

        本文主要介绍数据库的备份与在突发情况下的数据恢复。话不多说,如果要看详细的数据库备份与恢复的场景和恢复思路啥的,请查看参考文档。在这里有必要介绍一下全量备份和增量备份。

    全量备份和增量备份

    全量备份:截止某一时间点,对之前所有的数据进行备份,这时候要求数据库不再更新

    增量备份:项目进行了一段时间,每天都有大量的数据。此时如果每次备份都选择全量备份则耗时耗力,对之前已经备份过的数据来说浪费极大,因此,我们可以选择相对于之前没备份过的数据进行备份,此时数据量相对较小,不容易出错。

        简单点来说,本次实验就是先进行全量备份,再设置增量备份。在数据丢失后,先恢复全量备份的数据,再恢复全量备份之后到数据丢失之前的数据。

    实验步骤

    一:mysql数据库开启binlog日志功能。

    在/etc/my.cnf文件里的[mysqld]区块添加如下内容

    log-bin=mysql-bin
    
    #然后重启mysql服务
    systemctl restart mysqld.service

    二:对现有表或数据库进行备份

    首先查看一下salary表,我们通过这张表来展示对数据的备份与恢复的现象

     创建一个目录用来存放备份的数据库

    mkdir /home/mysql_backup

    对tc数据库进行全量备份,这里你可以对你自己存在的数据库进行操作

    注意:date与+之间有一个空格

    mysqldump -uroot -p -B -F -R -x --master-data=2 tc|gzip > /home/mysql_backup/tc_$(date +%F).sql.gz

    参数说明:
    -B:指定数据库
    -F:刷新日志
    -R:备份存储过程等
    -x:锁表,不再更新数据库
    –master-data:在备份语句里添加CHANGE MASTER语句以及binlog文件及位置点信

    三:模拟全量备份之后的操作

    备份好之后对salary数据表再次插入数据

    四: 此时删除tc数据库,模拟数据库丢失情况

     五:发现数据库丢失,准备对丢失数据进行恢复

    此时tc数据库文件已经丢失,需要对文件进行恢复

    先恢复全量备份的数据,在通过binlog恢复从全量备份到数据丢失之前的操作

    查看全量备份之后新增的binlog文件

    这是全备时刻的binlog文件位置,即mysql-bin.000003的155行,因此在该文件之前的binlog文件中的数据都已经包含在这个全备的sql文件中了

    查看mysql的数据存放目录,可以看到放在了/var/lib/mysql/目录中

    show global variables like "%datadir%";

     移动binlog文件

    导出为sql文件

    mysqlbinlog -d tc mysql-bin.000003 >003bin.sql

     剔除其中的drop语句,要把drop下面的语句全部删掉,否则会报错

     

     六:恢复数据

     先恢复全量备份的数据

     此时可以看到,已经恢复到全量备份时的数据了

    接下来通过003bin.sql文件恢复全量备份到数据丢失之前的数据

     七:查看数据表,发现已经恢复到删除数据库之前的数据了

  • 相关阅读:
    bzoj2064 分裂
    bzoj3195 [Jxoi2012]奇怪的道路
    [bzoj2055] 80人环游世界
    [zoj2314] Reactor Cooling
    bzoj 4334 铁拳
    第三次组队赛(bfs&&dfs)
    母函数的一些问题:Ignatius and the Princess III&&Square Coins&&选课时间(题目已修改,注意读题)&&Holding Bin-Laden Captive!
    第二次组队赛之:Can you find it?&&Toxophily&& Party All the Time&& Squares
    第二次组队赛之:Expanding Rods&&Aggressive cows&&Can you solve this equation?&&Strange fuction
    图论基础之Floyd(弗洛伊德算法&&Spfa算法&&邻接表):畅通工程续 HDU1874&&最短路 HDU2544
  • 原文地址:https://www.cnblogs.com/maohai-kdg/p/11889531.html
Copyright © 2011-2022 走看看