读书笔记--高性能MySQL--15备份与恢复
读书笔记--高性能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备份与恢复相关推荐
- Think in Java第四版 读书笔记9第15章 泛型
Think in Java第四版 读书笔记9第15章 泛型 泛型:适用于很多很多的类型 与其他语言相比 Java的泛型可能有许多局限 但是它还是有很多优点的. 本章介绍java泛型的局限和优势以及ja ...
- 【学习笔记】MySQL 数据备份与恢复
数据备份与恢复 数据备份 系统意外崩溃或者硬件的损坏都可以导致数据库的丢失,因此MySQL管理员应该定期备份数据库,使得在意外情况发生时,尽可能减少损失. 使用MySQLdump命令备份 MySQLd ...
- mysql数据库teach_读书笔记 - 《MYSQL必知必会》
术语: 数据库 , 表 , 模式 , 列 , 数据类型 , 行 , 主键 命令行: mysql -u ben -p -h myserver -P 9999 检索 SELECT 列名 FROM 表名; ...
- 【读书笔记】Mysql优化的个人理解
拜读了一下知乎大神的sql优化传送门 sql基础架构图 左边,客户端,like CMD.或者workbench,navicat,右边都是mysql的服务端. 当查询出数据后,会返回给执行器.执行器一方 ...
- 读书笔记之MySQL技术内幕
前言 本文内容基本摘抄自<MySQL技术内幕 InnoDB存储引擎>,以供复习之用,没有多少参考价值.想要更详细了解请参考原书. 第一章.MySQL体系结构和存储引擎 数据库是物理操作系统 ...
- 《Python编程:从入门到实践》读书笔记:第15章 生成数据
目录 第15章 生成数据 15.1 安装Matplotlib 15.2 绘制简单的折线图 15.2.1 修改标签文字和线条粗细 15.2.2 校正图形 15.2.3 使用内置样式 15.2.4 使用s ...
- 读书笔记:Mysql实战45讲 (1-10讲)
总结一下:这本书都讲解了那些知识点: 增.删.改.查 底层实现和优化 索引:底层数据结构实现.聚簇索引(主键索引).二级索引(索引.联合索引.前缀索引.唯一索引)使 用方法和底层实现 My ...
- OCA/OCP Oracle 数据库12c考试指南读书笔记:第15章: Oracle Storage
表的行数据在块中的存储 在最底层,行存放于block中,之上还有其它层次. Oracle数据存储模式 segment是有类型的,是schema 对象,如表,索引等.一个segment只能位于一个表空间 ...
- 《Effective STL》读书笔记之容器1-5
参考链接:http://blog.csdn.net/haotiangg/article/details/76266579 第一章 容器 第1条:慎重选择容器类型:选择合适的容器很关键! C++中各种标 ...
最新文章
- python装饰器类-Python类装饰器
- Java反编译Jar包和Android APK(类似.NET Reflector)
- 国家开放大学2021春1129土木工程力学(本)题目
- serv-u无法自动启动:无法开始服务器!服务器执行缺少
- python02_python常用数据类型字符串
- MariaDB Centos7 下安装MariaDB
- 2008年最新CCNA第二学期第十单元题目(2008-12-14 14:34:59)
- Request 请求转发
- Yield Guild Games:播客专题
- 多次进行hdfs namenode -format命令时,启动DataNode自动死亡的原因
- 进出队C语言不用链表,C语言面试题总汇简要
- javascript原生实现二级联动下拉菜单
- andriod——Fresco+Retrofit+GreenDao
- 如何在百度又快有准的搜索资源
- 【ROS RIKIBOT 基础--使用系列 第八章节】超声波跟随、雷达跟随、手机APP建地图、视觉单线寻线
- 【mysql innodb索引结构B+树】
- 问题解决: Oracle Database Configuration Assistant 失败
- java mysql 1366_MySql中的error-code='1366', sqlstate='HY000'错误
- monkey测试linux设备,关于使用Monkey运行脚本测试
- WebRTC 教程三:WebRTC特性,调试方法以及相关服务器搭建方法