红旗Linux案例精选:使用Amanda ZRM备份远程MySQL数据库


本文写道最后的时候,我才发现ZRM for MySQL的一个致命问题,就我目前的理解和测试来看,它恢复数据的时候是采取覆盖的方式,举个例子,假定某台数据库服务器上有两个数据库test1,test2,你备份了这两个数据库,某一天,test2数据库里的某一个表坏了,那么它无法做到仅仅只是恢复损坏的表,甚至无法做到仅仅恢复test2,而是直接把test1,test2都恢复。那这绝对是一个噩梦。
但愿我目前的理解是错误的,只是我实在找不到控制恢复粒度的地方。下面的文字就当闲着无聊看看吧。

Zmanda Recovery Manager(ZRM)提供了备份MySQL数据库的能力,并且支持两种备份模式:逻辑备份和裸备份,有关详细的介绍,可以看官方的介绍。下面给出一个备份的实例。

先介绍备份的环境,如果大家看过之前的那篇Amanda集中备份实例,那么大概就知道是什么样的一个网络架构了,承接上文,这里备份服务器还是cp1.domain.com,MySQL数据库分别运行在cp2.domain.com和cp3.domain.com上,需要备份其所有的数据库。

一、服务端的安装和配置
首先从官方站点下载对应系统的服务端程序,然后安装。注意:服务端与perl-DBI,MySQL-client程序库有依赖关系,安装之前先安装这个两个包。

安装完后,/etc/mysql-zrm/是其配置文件的所在地。/etc/mysql-zrm/目录下有一个mysql-zrm.conf文件,这是最重要的配置文件。在/etc/mysql-zrm/目录下,你可以创建一些目录,每一个目录就是一个备份集的名称,我这里为了直观,采取了主机名的方式来创建备份集

mkdir /etc/mysql-zrm/{cp2.domain.com,cp3.domain.com}
cp  /etc/mysql-zrm/{mysql-zrm.conf,cp2.domain.com/,cp3.domain.com/}

/etc/mysql-zrm/mysql-zrm.conf可以做为全局配置文件,针对每一台需要备份的数据库的不同,可以在备份集目录里的mysql-zrm.conf再定义,这里的定义可以覆盖全局定义。

首先,我们把一些全局定义信息配置在/etc/mysql-zrm/mysql-zrm.conf文件里

#cat /etc/mysql-zrm/mysql-zrm.conf
backup-level=0
backup-mode=logical
backup-type=regular
destination=/yourpath/db
compress=1
compress-plugin=/bin/gzip
encrypt=1
encrypt-plugin="/usr/share/mysql-zrm/plugins/encrypt.pl"
decrypt-option="-d"
all-databases=1
user="backup-user"
password="securepassword"
mailto="your@domain.com"

上面的配置信息应该比较直观。
然后配置每一台MySQL服务器的一些特有参数

#cat /etc/mysql-zrm/cp2.domain.com/mysql-zrm.conf
host="cp2.domain.com"
destination=/yourpath/db
 
#cat /etc/mysql-zrm/cp3.domain.com/mysql-zrm.conf
host="cp3.domain.com"
destination=/yourpath/db

创建加密的密码文件

[root@cp1:~# touch /etc/mysql-zrm/.passphrase
[root@cp1:~# echo encryptpass > /etc/mysql-zrm/.passphrase
[root@cp1:~# chmod 700 /etc/mysql-zrm/.passphrase
  • 1
  • 2
  • 3
  • 4
  • 5
  • 下一页
【内容导航】
第1页:服务端的安装和配置 第2页:配置客户端
第3页:测试备份 第4页:检验
第5页:恢复

相关内容