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

posted @ 2021-04-20 13:48  HR·  阅读(1285)  评论(0编辑  收藏  举报