7.2 Database Backup Methods 数据备份方法:

本节总结了一些常用的备份方法:

使用MySQL Enterprise Backup 进行Hot Backup

 MySQL Enterprise Edition 的用户可以使用  MySQL Enterprise Backup 产品来物理备份整个实例或者选择的数据库,表

整个产品包含功能用于增量和压缩备份。

备份物理数据库文件让恢复变的更快相比逻辑技术 比如mysqldump命令。

InnoDB 表是复制使用一个hot backup mechanism.(理想情况下,InnoDB 表应该代表了相当多数的数据)

mysqldump 或者mysqlhotcopy 备份:

mysqldump程序和mysqlhotcopy脚本可以进行备份, mysqldump 是更加常用的因为他可以备份所有类型的表。

mysqlhotcopy 只能用于一些存储引擎

对于InnoDB表, 他是可以执行一个在线备份 不加锁在表上使用--single-transaction option来进行mysqldump

通过 复制表文件进行备份:

对于存储引擎每个表使用它自己的文件,表可以通过copy那些文件备份。

比如,MyISAM 表是存在为文件,因此它可以容易的备份通过复制文件(*.frm, *.MYD, and *.MYI files). 

得到一个一致性备份,停止server 或者lock and flush 相关的表

FLUSH TABLES tbl_list WITH READ LOCK;

你需要一个read lock,这个让其他的客户端可以继续查询表当你做文件的备份。

flush 是需要的确保所有的活动的index pages 是写入到磁盘在你开始备份前

你也可以创建一个 binary backup  通过复制所有的表文件, 只要服务器不更新任何东西。

mysqlhotcopy  脚本使用这种方法(但是注意 表文件复制方法不能工作如果你的数据库包含InnoDB表。

mysqlhotcopy不能用于InnoDB表 因为InnoDB 不需要存储表内容在数据库目的

通过启用Binary log 进行增量备份

MySQL 支持增量备份:你需要启动server 使用--log-bin选项来启用binary logging.

binary log 文件提供了你需要的信息来复制改变到数据库

使用复制slaves进行备份:

如果 你的master 在你备份的时候有性能问题,一种方法是设置复制 执行备份在slave上相比在master上

FLUSH TABLES WITH READ LOCK.: 锁全局

退出 自动释放锁

7.2 Database Backup Methods 数据备份方法:的更多相关文章

  1. MySQL数据备份方法

    MySQL的备份和还原 备份:副本    RAID1,RAID10:保证硬件损坏而不会业务中止:        DROP TABLE mydb.tb1; 备份类型:        热备份.温备份和冷备 ...

  2. Chapter 7 Backup and Recovery 备份和恢复:

    Chapter 7 Backup and Recovery 备份和恢复: Table of Contents 7.1 Backup and Recovery Types 7.2 Database Ba ...

  3. Oracle数据库三种标准的备份方法

    Oracle数据库的三种标准的备份方法: 1.导出/导入(EXP/IMP). 2.热备份. 3.冷备份. 注释:导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一.导出/导入(Export/Imp ...

  4. InfluxDB数据备份和恢复方法,支持本地和远程备份

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 17 部分: InfluxDB学习之InfluxDB的基本概念 InfluxDB学习之InfluxDB的基本操作 Influ ...

  5. 【链表】bzoj 1150: [CTSC2007]数据备份Backup

    1150: [CTSC2007]数据备份Backup Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1136  Solved: 458[Submit] ...

  6. bzoj1150 [CTSC2007]数据备份Backup 双向链表+堆

    [CTSC2007]数据备份Backup Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2727  Solved: 1099[Submit][Stat ...

  7. 1150: [CTSC2007]数据备份Backup

    1150: [CTSC2007]数据备份Backup https://lydsy.com/JudgeOnline/problem.php?id=1150 分析: 堆+贪心. 每次选最小的并一定是最优的 ...

  8. oracle中修改表已有数据的某一列的字段类型的方法,数据备份

    1.在开发过程中经常会遇到表中的某一个字段数据类型不对,比如说需要保存的数据带小数,但是在最初设计的时候是给的number(10)类型,开始保存是整数的时候满足要求,后来在保存小数的时候 会发现自动四 ...

  9. 【BZOJ 1150】 1150: [CTSC2007]数据备份Backup (贪心+优先队列+双向链表)

    1150: [CTSC2007]数据备份Backup Description 你在一家 IT 公司为大型写字楼或办公楼(offices)的计算机数据做备份.然而数据备份的工作是枯燥乏味 的,因此你想设 ...

随机推荐

  1. Android开发 - 下拉刷新和分段头悬停列表

    项目源码 本文所述项目已开源,源码地址 为什么做PullToRefresh-PinnedSection-ListView 前段时间因为项目需求,需要在Android中对ListView同时增加下拉刷新 ...

  2. SVN server的搭建

    当做大的项目是,svn是代码管理的好工具,假设是用自己的server,那么须要搭建SVNserver. Subversion是一款很优秀的svnserver工具,笔者採用VisualSVN serve ...

  3. HDU--2040

    亲和数 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  4. 怎样学好C语言,一个成功人士的心得!

    今天,我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了全部的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的 ...

  5. Qt 学习之路:线程和事件循环

    前面一章我们简单介绍了如何使用QThread实现线程.现在我们开始详细介绍如何“正确”编写多线程程序.我们这里的大部分内容来自于Qt的一篇Wiki文档,有兴趣的童鞋可以去看原文. 在介绍在以前,我们要 ...

  6. Swift: Initialization-2

    Failable Initializers 有的时候,可能是参数问题.需要的外部资源没有到位等原因,初始化可能失败.为了应对这种情况,我们可以定义一个或多个可失败的构造方法. init? A fail ...

  7. const常量折叠

    首先来看一个例子: int main(int argc, char* argv[]) { ; int *j = (int *) &i; *j=; cout<<&i<& ...

  8. Nginx反向代理,负载均衡配置

    主配置文件:nginx.conf # For more information on configuration, see: # * Official English Documentation: h ...

  9. 图解MonoForAndroid开发环境搭建

    电脑系统:windows 8.1 企业版 预装VS:2010旗舰版+2013 with update2旗舰版 ==================================== 1.1 安装ja ...

  10. Hibernate 性能优化之查询缓存

    查询缓存是建立在二级缓存基础之上的,所以与二级缓存特性相似,是共享的,适合修改不是很频繁的数据 查询缓存不是默认开启的,需要设置      1.在cfg文件中配置 <property name= ...