本文写道最后的时候,我才发现ZRM for MySQL的一个致命问题,就我目前的理解和测试来看,它恢复数据的时候是采取覆盖的方式,举个例子,假定某台数据库服务器上有两个数据库test1,test2,你备份了这两个数据库,某一天,test2数据库里的某一个表坏了,那么它无法做到仅仅只是恢复损坏的表,甚至无法做到仅仅恢复test2,而是直接把test1,test2都恢复。那这绝对是一个噩梦。
但愿我目前的理解是错误的,只是我实在找不到控制恢复粒度的地方。下面的文字就当闲着无聊看看吧。
Zmanda Recovery Manager(ZRM)提供了备份MySQL数据库的能力,并且支持两种备份模式:逻辑备份和裸备份,有关详细的介绍,可以看官方的介绍。下面给出一个备份的实例。
一、服务端的安装和配置
首先从官方站点下载对应系统的服务端程序,然后安装。注意:服务端与perl-DBI,MySQL-client程序库有依赖关系,安装之前先安装这个两个包。
安装完后,/etc/mysql-zrm/是其配置文件的所在地。/etc/mysql-zrm/目录下有一个mysql-zrm.conf文件,这是最重要的配置文件。在/etc/mysql-zrm/目录下,你可以创建一些目录,每一个目录就是一个备份集的名称,我这里为了直观,采取了主机名的方式来创建备份集
/etc/mysql-zrm/mysql-zrm.conf可以做为全局配置文件,针对每一台需要备份的数据库的不同,可以在备份集目录里的mysql-zrm.conf再定义,这里的定义可以覆盖全局定义。
首先,我们把一些全局定义信息配置在/etc/mysql-zrm/mysql-zrm.conf文件里
上面的配置信息应该比较直观。
然后配置每一台MySQL服务器的一些特有参数
创建加密的密码文件