zoukankan      html  css  js  c++  java
  • 7.2 Database Backup Methods 数据备份方法:

    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.: 锁全局
    
    
    退出 自动释放锁
    

  • 相关阅读:
    Javascript 智能输入数字且保留小数点后三位
    dedecms 在模版页面获取当前栏目id
    photoshop打开图片显示的是索引,无法编辑解决
    Mac+Apache+PHP 安装 Xdebug 方法
    dedecms 模版里格式化时间标签
    input中只能写入数字int、float
    dedecmsv5.7 前台模版里输出变量
    Dedecms V5.7 关于session
    JQuery 获取select被选中的value和text
    如何使用Anaconda
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13350163.html
Copyright © 2011-2022 走看看