7.3 Example Backup and Recovery Strategy 备份和恢复策略实例

7.3.1 Establishing a Backup Policy
7.3.2 Using Backups for Recovery
7.3.3 Backup Strategy Summary 这个章节讨论执行备份的过程让你可以在几种类型的crash后恢复数据 1.操作系统crash 2. 电源故障 3. 文件系统crash 4. 硬件问题(硬盘,主板等等) 示例命令不包含选项比如 --user 和--password 对于mysqldump 和mysql client程序。 你必须包含这些选项来让客户端程序连接到MySQL server 假设数据存储在 InnoDB storage engine, 已经支持事务和自动crash recovery. 假设MySQL server 是在负载时crash,如果不是,不需要任何恢复 操作系统crashed或者电源故障的情况下, 我们可以假设MySQL的磁盘数据是在重启后可用的。 InnoDB 数据文件可能不包含一致性的数据由于crash,但是InnoDB 读取它的logs 找到挂起的和未提交的事务的列表 没有没刷新到数据文件。 InnoDB 自动回滚那些没有提交的事务, 刷新到它的数据文件对于那些提交的。 7.3.1 Establishing a Backup Policy 建立备份策略: 为了有用,备份必须定期执行。一个群备份( 在一个时间点的数据库快照) 可以使用Mysql几个工具实现。 比如,MySQL Enterprise Backup 可以执行一个实例的物理备份, 这个章节讨论使用mysqldump 假设 我们做一个所有数据库的InnoDB表的全备份,使用下面的命令: shell> mysqldump --single-transaction --all-databases > backup_sunday_1_PM.sql 通过mysqldump 产生的.sql文件包含了 一组INSERT 语句可以用于重新加载dumped表在以后的时间 这个备份操作需要一个 global read lock 在所有的表在dump开始时(使用FLUSH TABLES WITH READ LOCK). 一旦这个锁被获取, binary log coordinates 被读取,lock被释放。 当场时间更新语句在执行当FLUSH 语句被执行, backup 操作可能停顿知道那些语句完成。 在那以后,dump 变的lock-free 不会打扰读和写在表上 假设备份的表是InnoDB表, 因此--single-transaction 使用一个一致性读和数据被mysqldump看到不改变 (被其他客户端对InnoDB表的改变不会被mysqldump进程看到) 如果 备份操作包含非事务表, 一致性需要它们不改变在备份期间。 全备份是必须的,但是 它总是不大方便创建它们。 它们产生大的备份文件 花费时间来生成。 它们不是罪有的在这个意义上每个成功的全备份包含所有的数据, 即使那部分没有改变自从上次全备份。 做一个初始的全备份是更加有效的,然后做增量备份。 增量备份是小的花费更少的时间来产生。 权衡是,在恢复时间, 你不能恢复你的数据只是通过加载全备份,你必须产生增量备份来恢复你的增量改变。 做增量备份, 我们需要保存增量改变。在Mysql,那些改变被记录到binary log, MySQL server 应该总是启用 --log-bin 选项。 启动binary logging, server 写每个数据改变到一个文件 当它更新数据时。 查看MySQL server的数据目录 启用log-bin选项 每次他重启时, MySQL server 创建一个新的binary log 文件按顺序使用下一个数字。 当server 运行时, 你也可以告诉它来关闭当前的binary log 文件 开始一个新的通过执行一个FLUSH LOGS SQL statement 或者使用一个mysqladmin flush-logs命令。 mysqldump 也有一个选项来刷新日志。.index 文件在数据目录包含 所有的mysql binlog MySQL binary logs 是重要的对于恢复 因为 它们构成增量备份的备份集。 如果你确保flush logs 当你做全备份时,binary log 文件被创建以后包含所有数据改变自动备份后。 让我们修改之前的mysqldump 命令 让它flushed MySQL binary logs 在全备份的时刻, 这样dump 文件包含了新的binary log 的名字 shell> mysqldump --single-transaction --flush-logs --master-data=2 \
--all-databases > backup_sunday_1_PM.sql 在执行这个命令后,数据目录包含一个新的binary log 文件,gbichot2-bin.000007, 因为--flush-logs选项会让server flush 它的日志。 --master-data 选项让mysqldump 写binay log 信息到它输出,因此.sqldump文件包含下面行:
-- Position to start replication or point-in-time recovery from -- CHANGE MASTER TO MASTER_LOG_FILE='gbichot2-bin.000007',MASTER_LOG_POS=4; 因为mysqldump 命令做一个全备份,那些行意味着两个事情: 1.dump 文件包含所有的改变在任何改变谢雨到gbichot2-bin.000007 binary log 文件或者更高 2.所有的数据改变被记录在备份是不存在在dump文件里,但是是存在 gbichot2-bin.000007 binary log file或者更高的 在星期一在下午1点, 我们创建一个增量备份通过flushing logs 来开始一个新的binary log 文件。 例如,执行一个mysqladmin flush-logs command 创建一个gbichot2-bin.000008. 所有的改变在星期天下午1点的全备份和星期一下午1点会在gbichot2-bin.000007 file. 这个增量备份是重要的, 需要拷贝到安全的地方

7.3.1 Establishing a Backup Policy的更多相关文章

  1. Mysql官方文档翻译系列-7.3.1 Establishing a Backup Policy

    原文链接 (https://dev.mysql.com/doc/refman/5.7/en/backup-policy.html) 正文 To be useful, backups must be s ...

  2. 1950261 - SAP HANA Database Backup Policy Recommendations and Regular Backup Script

    =====Symptom For SAP Business One, version for SAP HANA users, SAP HANA provides a range of database ...

  3. Mysql官方文档翻译系列14.18--MySql备份与恢复

    原文链接: (https://dev.mysql.com/doc/refman/5.7/en/innodb-backup-recovery.html) The key to safe database ...

  4. Exam E05-001 Information Storage and Management Version 3 Exam

    Emc 考试 e05-001信息存储和管理版本3考试 [总问题:171] 哪种 emc 产品提供软件定义的存储基础架构的自动监视和报告? A. viprSrmB. 斯纳普内C. 阿瓦马尔D. 快速副总 ...

  5. LINUX系统备份还原

    1.Linux系统备份工具 REAR (RELAX-AND-RECOVER) https://blog.csdn.net/qq43748322/article/details/78710754?loc ...

  6. 实验室报告:VMware vSphere Data Protection

    dd Lab Reports VMware vSphere Data Protection Fast, Simple, and Agentless Deduplicated Virtual Machi ...

  7. VERITA Netbackup日常巡检详细说明

    VERITA备份日常监控 一. 相关检查方法.命令 1.1 启动NBU的图形管理界面: /usr/openv/netbackup/bin/jnbSA & 1.2字符界面命令: 1.2.1cat ...

  8. Linux下多网卡绑定bond及模式介绍

    [介绍] 网卡bond一般主要用于网络吞吐量很大,以及对于网络稳定性要求较高的场景. 主要是通过将多个物理网卡绑定到一个逻辑网卡上,实现了本地网卡的冗余,带宽扩容以及负载均衡. Linux下一共有七种 ...

  9. Linux下多网卡绑定bond0及模式

    Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0:平衡负载模式,有自动备援,但 ...

随机推荐

  1. 适配iOS7uinavigationbar遮挡tableView的问题

    //适配iOS7uinavigationbar遮挡tableView的问题 if([[[UIDevice currentDevice]systemVersion]floatValue]>=7.0 ...

  2. uva:10340 - All in All(字符串匹配)

    题目:10340 - All in All 题目大意:给出字符串s和t,问s是否是t的子串.s若去掉某些字符能和t一样,那么t是s的子串. 解题思路:匹配字符.t的每一个字符和s中的字符匹配.注意这里 ...

  3. mybatis 与 ehcache 整合[转]

    1.简介 MyBatis 是支持普通SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除了几乎所有的JDBC 代码和参数的手工设置以及结果集的检索. Ehcache 是现在最流行的纯 ...

  4. Project Euler problem 62

    题目的大意很简单 做法的话. 我们就枚举1~10000的数的立方, 然后把这个立方中的有序重新排列,生成一个字符串s, 然后对于那些符合题目要求的肯定是生成同一个字符串的. 然后就可以用map来搞了 ...

  5. [PWA] 12. Intro to IndexedDB

    Use the library indexedDB-promised. Create a database and stroe: import idb from 'idb'; // Open(db_n ...

  6. jquery自定义插件来实现分页的效果

    本节将介绍如何定义自己的jquery插入,实现分页效果,话不多说,.看看达到的效果: 分页插件 实现的代码例如以下: <!DOCTYPE HTML PUBLIC "-//W3C//DT ...

  7. springMVC3学习(二)--ModelAndView对象

    当控制器处理完请求时,一般会将包括视图名称或视图对象以及一些模型属性的ModelAndView对象返回到DispatcherServlet. 因此,常常须要在控制器中构造ModelAndView对象. ...

  8. BAT染指影视制作 欲全面撬开互联网粉丝经济

    预測: 或靠"用户"模式盈利 除了内容制作,电影发行也在遭遇互联网模式的冲击. 除了给片方支付高额保底以外,随着市场竞争激烈.新进入者都在争夺好片的发行权. 业内预測.再往后,发行 ...

  9. iOS 启动连续闪退保护方案

    引言 “如果某个实体表现出以下任何一种特性,它就具备自主性:自我修复.自我保护.自我维护.对目标的自我控制.自我改进.” —— 凯文·凯利 iOS App 有时可能遇到启动必 crash 的绝境:每次 ...

  10. 模板-->欧几里得算法

    如果有相应的OJ题目,欢迎同学们提供相应的链接 相关链接 所有模板的快速链接 简单的测试 None 代码模板 /* * TIME complexity:O(logN) means very fast. ...