NetBackup for MySQL Agent 扩展了NetBackup 的功能,以包括MySQL 数据库的备份和还原操作。代理位于NetBackup 客户端上并支持独立的设置操作。代理支持MySQL 版本5.5.5 及更高版本。NetBackup for MySQL Agent 除备份、恢复功能外,还支持:
验证备份信息。
查询备份。
从目录库文件中删除备份信息。
将还原重定向到不同于最初执行备份的客户端的另一客户端。
备份流程
NetBackupfor MySQL Agent 整体备份流程为:
Agent向Mysql发出创建备份快照命令(flush tables with read lockt等)。
首先在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一样。