读书笔记--高性能MySQL--15备份与恢复

  • 为什么要备份
  • 定义恢复需求
  • 设计MySQL备份方案
    • 名词解释
    • 在线备份还是离线备份
    • 逻辑备份还是物理备份
      • 逻辑备份
      • 物理备份
    • 建议
    • 备份什么
      • 增量备份和差异备份
      • 存储引擎和一致性
  • 管理和备份二进制日志
    • 安全地清除老的二进制日志
  • 备份数据
    • 生成逻辑备份
    • 文件系统快照
      • 先决条件和配置
    • 用于在线备份的LVM快照
      • 规划LVM备份
  • 从备份中恢复
    • 恢复物理备份
    • 还原逻辑备份
    • 基于时间点的恢复
    • 其他恢复技术
      • 延时备库复制
      • 使用日志服务器进行恢复
      • InnoDB崩溃恢复
  • 备份和恢复工具

为什么要备份

  • 灾难恢复
  • 人们改变想法
  • 审计
  • 测试

定义恢复需求

只有世界上最好的备份系统是没用的,还需要一个强大的恢复系统。规划备份和恢复策略的两个重要需求:恢复点目标恢复时间目标
恢复点目标(PRO):灾难发生后,从IT系统宕机导致业务停顿到IT系统恢复至可以支持各部门运作、恢复运营的时间段。
恢复时间目标(RTO):从系统和应用数据而言,要实现能够恢复至可以支持各部门业务运作,系统及生产数据应恢复到怎样的更新程度。这种更新程度可以是上一周的备份数据,也可以是上一次交易的实时数据。
在定义PRO和RTO时,考虑以下几个问题

  • 在不导致严重后果情况下,可以容忍损失多少数据?
  • 恢复需要在多长时间内完成?哪种类型的宕机是可以接受的?哪种影响是应用和用户可以接受的?当那些场景发生时,又改如何持续服务?
  • 需要恢复什么?整个服务器、单个数据库、单个表或是特定的事务或语句?

设计MySQL备份方案

名词解释

SAN (Storage Area Network)和NAS (Network-Attached Storage)是两个外部文件存储设备加载到服务器的方法。不同的是访问存储的方式。访问SAN设备时通过块接口,服务器直接看到一块硬盘并且可以像硬盘一样使用, 但是NAS设备通过基于文件的协议来访问,例如NFS或SMB. SAN设备通常通过光纤通道协议(FCP) 或iSCSI连接到服务器,而NAS设备使用标准的网络连接。还有一些设备可以同时通过这两种方式访问,比如NetApp Filer 存储系统。
DRBD(Distributed Replicated Block Device,分布式复制块设备)是一个用软件实现的、无共享的、服务器之间镜像块设备内容的存储复制解决方案。DRBD是镜像块设备,是按数据位镜像成一样的数据块。

在线备份还是离线备份

在规划备份时,需要考虑的性能因素

  • 锁时间:需要持有锁多长时间,例如在备份期间持有的全局FLUSH TABLES WITH READ LOCK?
  • 备份时间:复制备份到目的地需要多久?
  • 备份负载:在复制备份到目的地时对服务器性能的影响有多少?
  • 恢复时间:把备份镜像从存储位置复制到MySQL服务器,重放二进制日志,需要多久?

逻辑备份还是物理备份

逻辑备份

优点

  • 可视化好
  • 有助于避免数据损坏
  • 与存储引擎无关
  • 可通过网络备份和恢复

缺点

  • 恢复时间长且不可控
  • SQL语句巨大,SQL文件巨大
  • 不能保证数据百分百还原。可能出现浮点表示问题,软件BUG等

物理备份

优点

  • 恢复速度快
  • 备份简单,复制粘贴即可完成备份

缺点

  • 原始文件通常比相应的逻辑备份要大得多

建议

混合使用,先使用物理复制,以此数据启动MySQL服务器实例并运行mysqlcheck,然后周期性

读书笔记--高性能MySQL--15备份与恢复相关推荐

  1. Think in Java第四版 读书笔记9第15章 泛型

    Think in Java第四版 读书笔记9第15章 泛型 泛型:适用于很多很多的类型 与其他语言相比 Java的泛型可能有许多局限 但是它还是有很多优点的. 本章介绍java泛型的局限和优势以及ja ...

  2. 【学习笔记】MySQL 数据备份与恢复

    数据备份与恢复 数据备份 系统意外崩溃或者硬件的损坏都可以导致数据库的丢失,因此MySQL管理员应该定期备份数据库,使得在意外情况发生时,尽可能减少损失. 使用MySQLdump命令备份 MySQLd ...

  3. mysql数据库teach_读书笔记 - 《MYSQL必知必会》

    术语: 数据库 , 表 , 模式 , 列 , 数据类型 , 行 , 主键 命令行: mysql -u ben -p -h myserver -P 9999 检索 SELECT 列名 FROM 表名; ...

  4. 【读书笔记】Mysql优化的个人理解

    拜读了一下知乎大神的sql优化传送门 sql基础架构图 左边,客户端,like CMD.或者workbench,navicat,右边都是mysql的服务端. 当查询出数据后,会返回给执行器.执行器一方 ...

  5. 读书笔记之MySQL技术内幕

    前言 本文内容基本摘抄自<MySQL技术内幕 InnoDB存储引擎>,以供复习之用,没有多少参考价值.想要更详细了解请参考原书. 第一章.MySQL体系结构和存储引擎 数据库是物理操作系统 ...

  6. 《Python编程:从入门到实践》读书笔记:第15章 生成数据

    目录 第15章 生成数据 15.1 安装Matplotlib 15.2 绘制简单的折线图 15.2.1 修改标签文字和线条粗细 15.2.2 校正图形 15.2.3 使用内置样式 15.2.4 使用s ...

  7. 读书笔记:Mysql实战45讲 (1-10讲)

    总结一下:这本书都讲解了那些知识点: 增.删.改.查 底层实现和优化  索引:底层数据结构实现.聚簇索引(主键索引).二级索引(索引.联合索引.前缀索引.唯一索引)使     用方法和底层实现  My ...

  8. OCA/OCP Oracle 数据库12c考试指南读书笔记:第15章: Oracle Storage

    表的行数据在块中的存储 在最底层,行存放于block中,之上还有其它层次. Oracle数据存储模式 segment是有类型的,是schema 对象,如表,索引等.一个segment只能位于一个表空间 ...

  9. 《Effective STL》读书笔记之容器1-5

    参考链接:http://blog.csdn.net/haotiangg/article/details/76266579 第一章 容器 第1条:慎重选择容器类型:选择合适的容器很关键! C++中各种标 ...

最新文章

  1. python装饰器类-Python类装饰器
  2. Java反编译Jar包和Android APK(类似.NET Reflector)
  3. 国家开放大学2021春1129土木工程力学(本)题目
  4. serv-u无法自动启动:无法开始服务器!服务器执行缺少
  5. python02_python常用数据类型字符串
  6. MariaDB Centos7 下安装MariaDB
  7. 2008年最新CCNA第二学期第十单元题目(2008-12-14 14:34:59)
  8. Request 请求转发
  9. Yield Guild Games:播客专题
  10. 多次进行hdfs namenode -format命令时,启动DataNode自动死亡的原因
  11. 进出队C语言不用链表,C语言面试题总汇简要
  12. javascript原生实现二级联动下拉菜单
  13. andriod——Fresco+Retrofit+GreenDao
  14. 如何在百度又快有准的搜索资源
  15. 【ROS RIKIBOT 基础--使用系列 第八章节】超声波跟随、雷达跟随、手机APP建地图、视觉单线寻线
  16. 【mysql innodb索引结构B+树】
  17. 问题解决: Oracle Database Configuration Assistant 失败
  18. java mysql 1366_MySql中的error-code='1366', sqlstate='HY000'错误
  19. monkey测试linux设备,关于使用Monkey运行脚本测试
  20. WebRTC 教程三:WebRTC特性,调试方法以及相关服务器搭建方法

热门文章

  1. KJT-GY12TP耐高压接近开关
  2. R语言一键制作数据统计三线表(一)
  3. 自动行尾包装行业调研报告 - 市场现状分析与发展前景预测
  4. js字符串和对象之间的转换
  5. 九章算法人工智能集训营
  6. 如何导出或删除3CX通话记录
  7. 博士申请 | 香港中文大学(深圳)李海洲教授招收NLP等方向全奖博士/博后/RA
  8. ODOO15ERP制造业产品成本核算标准逻辑图
  9. PB9.0和.INI文件
  10. 9118个最新病毒样本测试:可牛杀毒软件无一漏报误报!