zoukankan      html  css  js  c++  java
  • 【MySQL】MySQL备份与恢复-基于LVM快照备份

    一、什么是快照卷

      如上图所示,原卷和快照卷可以不一样大,因为快照卷只保存变化中的数据,但是你得提前预估快照卷的存储空间有多大,一旦快照卷存储空间溢出就意味着快照卷的崩溃!快照卷拥有以下特点:
    1> 逻辑卷快照,事实上它本身是一个逻辑卷,但是它仅仅是作为原卷的另外一个访问路径;
    2> 刚刚创建快照卷时,快照卷中是没有任何数据的,所有数据都执行了原卷的数据块,所以此时访问的所有数据都来自于原卷;
    3> 一旦原卷中的数据需要修改,某一数据在修改之前需要把源数据复制到快照卷里进行修改,在快照卷里面存储修改后的内容,这意味着再次之后访问所有的数据一部分来自原卷,一部分来自快照卷。
      总是所述,快照卷是备份吗?答案是否定的,快照卷提供了一个能够获得时间一致性的访问通路。所以通过快照卷做备份得到的时间戳是一致的。
     
    二、基于LVM快照的备份注意事项
    1. 事务日志跟数据文件必须在同一个卷上;
    2. 创建快照卷之前,要请求mysql的全局锁,在快照创建完成之后释放锁;
    3. 在请求全局锁完成之后,做一次日志滚动;做二进制日志文件及位置标记(手动进行);
     
    三、备份步骤步骤
    1. 请求全局锁,并滚动日志
    [root@localhost ~]# mysql -hlocalhost -u root -p
    mysql> 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. 做即时点还原

    https://www.cnblogs.com/yinzhengjie/p/7931886.html

  • 相关阅读:
    水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)
    grep
    hdu 4455 Substrings(计数)
    Concurrency Programming Guide 并发设计指引(二)
    ASP.NET 预编译命令(解决发布后第一次访问慢问题)
    将浏览页面变为可编辑状态
    windows系统上利用putty通过SSH连接亚马逊AWS服务器
    SQL Server2008 R2 数据库镜像实施手册(双机)SQL Server2014同样适用
    非域环境下使用证书部署数据库(SqlServer2008R2)镜像
    遇到问题---hosts不起作用问题的解决方法
  • 原文地址:https://www.cnblogs.com/OrcinusOrca/p/14811395.html
Copyright © 2011-2022 走看看