MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)

                                            作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.什么是快照卷

  如上图所示,原卷和快照卷可以不一样大,因为快照卷只保存变化中的数据,但是你得提前预估快照卷的存储空间有多大,一旦快照卷存储空间溢出就意味着快照卷的崩溃!快照卷拥有以下特点:
    1>.逻辑卷快照,事实上它本身是一个逻辑卷,但是它仅仅是作为原卷的另外一个访问路径;
    2>.刚刚创建快照卷时,快照卷中是没有任何数据的,所有数据都执行了原卷的数据块,所以此时访问的所有数据都来自于原卷;
    3>.一旦原卷中的数据需要修改,某一数据在修改之前需要把源数据复制到快照卷里进行修改,在快照卷里面存储修改后的内容,这意味着再次之后访问所有的数据一部分来自原卷,一部分来自快照卷。
  总是所述,快照卷是备份吗?答案是否定的,快照卷只是给我们提供了一个能够获得时间一致性的访问通路。所以我们通过快照卷做备份我们得到的时间戳是一致的。
二.基于LVM快照的备份注意事项
1.事务日志跟数据文件必须在同一个卷上;
2.创建快照卷之前,要请求mysql的全局锁,在快照创建完成之后释放锁;
3.在请求全局锁完成之后,做一次日志滚动;做二进制日志文件及位置标记(手动进行);
三.备份步骤步骤
1.请求全局锁,并滚动日志
  flush tables with read lock
  flush logs
2.做二进制日志文件及位置标记(手动进行)
  #mysql -pyinzhengjie -e ‘show master status ’ > /path/to/somefile
3.创建快照卷
  #lvcreate -L -s -n yinzhengjie-mysql-snmap -p r /path/to/some_lv
4.释放全局锁
  #unlock tables
5.挂载快照并备份
  #cp
6.备份完成之后,删除快照卷
  #lvremove
  当然你可以用 mylvbackup:perl脚本,快速基于LVM备份mysql。需要你提前配置好perl环境。
 
四.恢复时的方式
1.二进制日志保存好
  提取备份之后的所有时间至某sql脚本中
2.还原数据,修改权限及属主属组等,并启动mysql
3.做即时点还原
 
 
 
 
 
 
 
 
 
 
 
 
 

MySQL的备份和恢复-基于LVM快照的备份(lvm-snapshot)的更多相关文章

  1. mysql数据库基于LVM快照的备份

    lvm-snapshot: 基于LVM快照的备份 1.事务日志跟数据文件必须在同一个卷上          2.创建快照卷之前,要请求mysql的全局锁,在快照创建完成之后释放锁          3 ...

  2. MySQL数据库备份还原(基于binlog的增量备份)

    MySQL数据库备份还原(基于binlog的增量备份) 一.简介 1.增量备份      增量备份 是指在一次全备份或上一次增量备份后,以后每次的备份只需备份与前一次相比增加或者被修改的文件.这就意味 ...

  3. MySQL基于LVM快照的备份恢复(临时)

    目录1.数据库全备份2.准备LVM卷3.数据恢复到LVM卷4.基于LVM快照备份数据5.数据灾难恢复6.总结 写在前面:测试环境中已安装有mysql 5.5.36数据库,但数据目录没有存放在LVM卷, ...

  4. mysql 基于lvm快照的备份

    1.查看磁盘数 ls /dev/ | grep sd 2.快照备份 pvcreate /dev/sdb #制作成物理卷vgcreate testvg /dev/sdblvcreate -L200M - ...

  5. Mysql数据库备份—-通过LVM快照实现备份还原

    一.实验环境 一台测试机:A(172.18.30.1) 操作系统:Centos7 操作对象数据库版本:mariadb-10.2 二.实现目的 从A机器(172.18.30.1)简单搭建数据库,创建测试 ...

  6. MySQL基于mysqldump及lvmsnapshot备份恢复

    一.备份对象 数据 配置文件 代码:存储过程,存储函数,触发器 跟复制相关的配置 二进制日志文件 二.备份工具 mysqldump:逻辑备份工具 InnoDB热备.MyISAM温备.Aria温备 备份 ...

  7. MySQL数据物理备份之lvm快照

    使用lvm快照实现物理备份 优点: 几乎是热备(创建快照前把表上锁,创建完后立即释放) 支持所有存储引擎 备份速度快 无需使用昂贵的商业软件(它是操作系统级别的) 缺点: 可能需要跨部门协调(使用操作 ...

  8. lvm快照备份mysql

    快照备份原理(从其他博客看的): 原理:通过lvm快照给lvm真身拍个照片,当lvm真身发送改变时,lvm快照把lvm真身改变之前的内容存放在快照上,这样在lvm快照有效的这段时间内,我们看到的lvm ...

  9. 使用LVM快照进行数据库备份

    使用mysqldump备份时,如果存储引擎为MyISAM,则只能实现温备份,并需使用选项--lock-all-tables锁定所有表.如果存储引擎为InnoDB,则加上--single-transac ...

随机推荐

  1. CS50.5

    函数,全局变量,参数,返回值. 1,类型转换. 各种数据类型进行转换 2,API函数 应用程序编程接口. application programming interface 写写随笔吧,先说计算机.. ...

  2. [UOJ#461]新年的Dog划分[二分图染色、二分]

    题意 给你一张无向连通图,你并不知道有哪些边,你首先要回答这张图是否是二分图,如果是,回答这张图黑白染色过后的任意一个点集.你需要在2000次询问内找到结果,每次你可以询问原图中一个边集删掉后是否还连 ...

  3. 华为笔试——C++平安果dp算法

    题目:平安果 题目介绍:给出一个m*n的格子,每个格子里有一定数量的平安果,现在要求从左上角顶点(1,1)出发,每次走一格并拿走那一格的所有平安果,且只能向下或向右前进,最终到达右下角顶点(m,n), ...

  4. Mabatis中#{}和${}的区别

    动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis 会对其进行动态解析.mybatis 为我们提供了两种支持动态 sql ...

  5. 详解JavaScript中的Event Loop(事件循环)机制

    前言 我们都知道,javascript从诞生之日起就是一门单线程的非阻塞的脚本语言.这是由其最初的用途来决定的:与浏览器交互. 单线程意味着,javascript代码在执行的任何时候,都只有一个主线程 ...

  6. PAT甲题题解-1052. Linked List Sorting (25)-排序

    三个注意点: 1.给出的n个节点并不一定都在链表中 2.最后一组样例首地址即为-1 3.输出地址的时候一直忘记前面要补0... #include <iostream> #include & ...

  7. BugPhobia准备篇章:团队Beta阶段准备工作分析

    0x00:序言 To the searching tags, you may well fall in love withhttp://xueba.nlsde.buaa.edu.cn/ 再见,无忧时光 ...

  8. 剑指offer:二叉树的深度

    题目描述: 输入一棵二叉树,求该树的深度.从根结点到叶结点依次经过的结点(含根.叶结点)形成树的一条路径,最长路径的长度为树的深度. 解题思路: 这道题也是递归的思路,比较简单. 做的过程中遇到的一个 ...

  9. GitHub和Microsoft TFS对比有什么优势

    GitHub变得越来越流行,最近Github发布了Github for Windows则大大降低了学习成本和使用难度,它甚至优于TFS. 微软也开始逐渐从TFS向GitHub转移了. 不是 TFS 输 ...

  10. ElasticSearch 2 (34) - 信息聚合系列之多值排序

    ElasticSearch 2 (34) - 信息聚合系列之多值排序 摘要 多值桶(terms.histogram 和 date_histogram)动态生成很多桶,Elasticsearch 是如何 ...