zoukankan      html  css  js  c++  java
  • mysql数据备份之Netbackup

    1、NBUfor MySQL

    NetBackup for MySQL Agent 扩展了NetBackup 的功能,以包括MySQL 数据库的备份和还原操作。代理位于NetBackup 客户端上并支持独立的设置操作。代理支持MySQL 版本5.5.5 及更高版本。NetBackup for MySQL Agent 除备份、恢复功能外,还支持:

    • 验证备份信息。

    • 查询备份。

    • 从目录库文件中删除备份信息。

    • 将还原重定向到不同于最初执行备份的客户端的另一客户端。

    2、备份流程

    NetBackupfor MySQL Agent 整体备份流程为:

    1. Agent向Mysql发出创建备份快照命令(flush tables with read lockt等)。

    2. Mysql成功执行命令后,Agent向服务器发出VSS/LVM相关创建快照命令。

    3. 快照创建成功后,挂载快照,并把MySQL备份数据发送给NBU Server。

    4. NBU Server把相关备份数据上传存储单元。

    5. NBU Serve把备份状态回传给Agent。

    3、恢复流程

    NetBackupfor MySQL Agent 整体恢复流程为:

    1. Agent向NBU Server发出恢复命令。

    2. NBU Server读取相关配置信息,把相应备份数据传给Agent。

    3. Agent利用备份数据进行恢复。

    手工快照备份、恢复

    NetBackup forMySQL备份原理非常简单,就是利用VSS/LVM的快照进行的数据备份,因为创建快照非常快,因此这种方式的数据库备份也对数据库影响最小。但利用快照进行MySQL数据库备份必须保证MySQL实例、lv是一对一的关系。接下来我就利用快照这种方式进行人工备份。

    备份

    1.确保MySQL实例使用单一lv

    2.创建快照

    以操作系统用户root,使用mysql客户端登陆MySQL数据库,以避免在mysql、操作系统间切换。

    首先在mysql中,执行“flushtables with readlock”,使数据库把脏数据写回磁盘并处于只读状态,以保证数据备份的完整、一致性,其次记录当前的事务信息及binlog位点信息,以方便以后建立主从关系,最后创建当前mysql数据库所使用lv的快照并释放相关锁。

    3.备份数据

    快照创建成功后,查看lv及其快照信息

    挂载快照

    利用快照,进行相关数据备份

     

    恢复

    把上述备份数据传至其它主机,并在该主机创建挂载点/data,把数据还原至该挂载点即可

    把备份数据解压至相应目录

    启动数据库

     
    总结

    NetBackup for MySQL备份原理比较简单,首先发出执令“flushtable with read lock”、“showmasterstatus”至数据库,使数据库当前所有脏数据写回磁盘,并让数据库处理“静止”状态,获取数据库当前事务信息及binlog位点信息;其次必执行至操作系统,创建VSS/lvm相关快照,最后发“unlocktables”至数据库,使数据库回复正常。整个过程非常简单,耗时相对比较少,整体来说效率比较高且对数据库影响最小。最后再利用快照进行真正的数据备份。利用快照这种方式进行数据备份,必须保证MySQL实例与lv是一对一关系,并且保证lv所在vg有足够的空间,对于变更特别频繁的数据库来说,vg的剩余空间得和lv一样。

     转自:https://www.modb.pro/db/29606

  • 相关阅读:
    String拷贝,构造和析构函数.
    得到透明画刷的颜色。
    程序关闭困难,析构函数执行不到的原因。
    CFileDialg文件后缀名的限制
    反转字符串数组,异或交换两个值
    C++ string在unicode下
    多线程中CString内存泄漏的解决方法。
    得到控件在窗口的位置
    学习进步的方法
    HyperLink与LinkButton的区别
  • 原文地址:https://www.cnblogs.com/yihr/p/14680702.html
Copyright © 2011-2022 走看看