热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

mysql数据备份之NBU

任大炮m

概述

Veritas NetBackup简称NBU,是一款商业化的备份和恢复软件,在金融行业占据了90%以上的市场份额,除了软件产品以外也开始推自家的备份一体机。由于具有众多的硬件、操作系统、虚拟化、数据库、应用程序和存储相关技术,现代数据中心环境复杂。这正是Netbackup长期以来成为企业可信之选,一方面可降低复杂性,同时在人手有限的情况下尽量管理数据保护。NetBackup是一款面向整个企业的单一解决方案,可通过一个混合型平台发挥其功能,而且即使是用于最大、最具动态特性的环境中也只需要进行微乎其微的管理。

  • 通过统一的集成解决方案消除单点产品。

  • 通过混合型备份平台实现现代化。

  • 通过基于策略的集中管理提高工作效率。

NBUfor MySQL

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

  • 验证备份信息。

  • 查询备份。

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

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

备份流程

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。

恢复流程

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一样。



推荐阅读
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • 本文详细分析了JSP(JavaServer Pages)技术的主要优点和缺点,帮助开发者更好地理解其适用场景及潜在挑战。JSP作为一种服务器端技术,广泛应用于Web开发中。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • MySQL 用户创建失败的解决方案
    本文详细介绍了在 MySQL 中遇到用户创建失败问题时的解决方法,包括如何正确配置环境、执行命令以及常见错误排查技巧。通过逐步指导,帮助用户顺利添加和管理 MySQL 用户。 ... [详细]
  • 解读MySQL查询执行计划的详细指南
    本文旨在帮助开发者和数据库管理员深入了解如何解读MySQL查询执行计划。通过详细的解析,您将掌握优化查询性能的关键技巧,了解各种访问类型和额外信息的含义。 ... [详细]
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 本文详细介绍了 MySQL 的查询处理流程,包括从客户端连接到服务器、查询缓存检查、语句解析、查询优化及执行等步骤。同时,深入探讨了 MySQL 中的乐观锁机制及其在并发控制中的应用。 ... [详细]
author-avatar
殇心Long
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有