zoukankan      html  css  js  c++  java
  • MySQL逻辑备份

    我们一般采用mysqldump的方式,对于mysql dump,有两种备份方式,一种是形成恢复脚本,这个是默认的备份方式,还有就是生成行数据文件,将来采用load data加载数据,后者速度更快,因此对于逻辑备份,我们建议采用后者,就是mysqldump -T的方式

      1mysqldump备份的时候,对于myisam表,我们采用-l的方式加锁备份,来保证数据的一致性,也可以采用skip lock的方式防止myisam表被加锁,但是可能带来数据的不一致性

      2、对于inndb表来说,通过single transaction的方式来获得一致性数据,主要原来采用的是MVCC特性,备份期间不锁表,还能够获得一致性数据

      3、对于mysqldump,我们不能获取到备份对应binlog起点,因此需要手工记录,具体的技巧就是在mysqldump的时候,加上-F选项,强制binlog切换,将来采用切换后的binlog作为恢复的起点,否则mysqldump的备份根本找不到恢复的起点

      4mysqldump可以恢复单表,具体方法就是将binlog中不属于恢复表的操作过滤掉,只是过滤出来需要恢复的表对应的SQL语句

    对于备份来说,我们有下面的几个技巧

      1、将备份卸载到从库

      2、使用xtrabackup的压缩、加密、并行、限流等技巧,根据业务需要灵活使用

      3、我们可以单独建立一个延迟从库,对于一些误操作进行恢复

      4、对于导数采用mysqldump -T的方式,对于备份采用xtrabackup的方式

  • 相关阅读:
    java.lang.UnsatisfiedLinkError:no dll in java.library.path终极解决之道
    JNA
    Java发邮件带附件测试通过
    Java-JDBC调用批处理、存储过程、事务
    Java的JDBC事务详解
    对只转发结果集的无效操作:last
    Servlet 监听器
    TOMCAT6热部署配置
    使用命名参数处理 CallableStatement
    如何在JTable中动态添加一行
  • 原文地址:https://www.cnblogs.com/5945yang/p/11266065.html
Copyright © 2011-2022 走看看