zoukankan      html  css  js  c++  java
  • mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)

    一.概述

             在作何数据库里,备份与恢复都是非常重要的。好的备份方法和备份策略将会使得数据库中的数据更加高效和安全。对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下:

    (1) 确定要备份的表的存储引擎是事务型(innodb)还是非事务型。两种不同的存储引擎备份方式在处理数据一致性方面是不太一样。
    (2) 确定使用全备份还是增量备份。增量备份是备份每天的增量日志,恢复时需要全备份加所有增量备份。这里与sql server的完整备份+日志备份或差异备份有点类似。
    (3) 可以考虑复制方法来做异地备份。但复制不能代替备份,因为有可能发生误操作。
    (4) 要定期备份。
    (5) 确保mysql的log -bin开启,才能实现完整恢复,或基于时间的恢复,或基于位置的恢复。
    (6) 经常做备份恢复测试,确保备份是有效的,并且可以恢复的。
    (7) mysql与sqlserver在备份上很大区别的概念是mysql可以基于表备份,而sql server基于库备份。

     

    二. 逻辑备份和恢复

      在mysql中,逻辑备份最大的优点是对于各种存储引擎,都可以用同样的访求来备份。而物理备份则不同,不同存储引擎有着不同的备份方法。 因此对于不同存储引擎混全的数据库,用逻辑备份会简单一些。

      2.1 逻辑备份
        mysql逻辑备份是将数据库中的数据备份为一个文本文件。可以被查看和编辑。在mysql中,使用mysqldump工具来完成逻辑备份。在前面章节"mysql 开发进阶篇系列 35 工具篇 "中有讲到该导出工具的用法。

      2.2下面简演示一个备份与恢复的例子

      -- 查看当前最新日志编号
      SHOW MASTER STATUS

            

     -- 备份test库,库中testbackup表有6条数据
     SELECT * FROM testbackup

            

     -- 将test库备份为test.dmp文件 -F备份后生成新日志
     [root@hsr data]# pwd
      /usr/local/mysql/data
      [root@hsr data]# mysqldump -uroot -p --single-transaction -F test > test.dmp
      Enter password:     

      备份后查看如下图所示:
            

      备份后查看最新日志编号(备份成功后生成了新的日志序号)
            

     -- 误操作
     DELETE FROM testbackup WHERE id=6
     -- 查看binlog日志,里面有误操作数据,需要在my.cnf中设置binlog_rows_query_log_events=1
     SHOW BINLOG EVENTS IN 'mysql-bin.000038';

            

     -- 还原test.dmp文件
     [root@hsr data]# mysql -uroot -p test < test.dmp
     Enter password:
     -- 在查看数据,此时数据已还原。
     SELECT * FROM testbackup

            

      总结: 如果是在线还原生产数据库,有会一个问题,还原数据库后,自备份以后,用户操作的数据就会都要丢失。办法是继续恢复备份以来的binlog。但如果是误操作要找回数据有二种方法:(1)是还原一个副本,从副本中获取误操作的数据。(2) 在线还原,但不能用完全恢复,因为里面含有误操作的binlog日志。对于误操作推荐还是还原副本,不影响生产数据库。下篇继续对于误操作的恢复办法。

      

  • 相关阅读:
    使用某些 DOCTYPE 时会导致 document.body.scrollTop 失效
    VB.NET 笔记1
    知识管理系统Data Solution研发日记之一 场景设计与需求列出
    知识管理系统Data Solution研发日记之五 网页下载,转换,导入
    折腾了这么多年的.NET开发,也只学会了这么几招 软件开发不是生活的全部,但是好的生活全靠它了
    分享制作精良的知识管理系统 博客园博客备份程序 Site Rebuild
    知识管理系统Data Solution研发日记之四 片段式数据解决方案
    知识管理系统Data Solution研发日记之二 应用程序系列
    知识管理系统Data Solution研发日记之七 源代码与解决方案
    知识管理系统Data Solution研发日记之三 文档解决方案
  • 原文地址:https://www.cnblogs.com/MrHSR/p/9647699.html
Copyright © 2011-2022 走看看