mysql-zrm --action restore --source=/common/test/20170407091226/--backup-set test --verbose

对于一个数据库的全备、增备恢复当然没有问题了

但是,但是,但是:当备份多个库时有异常情况:

备份多个数据库时,全备虽然备份了SQL语句,但是也会滚动一个binlog日志,备份几个数据库滚动几次,这是其一;

第二种情况是:数据恢复时,对于多个库的全备恢复没有任何的问题,但是增备数据的恢复有些问题,有5个数据库进行了数据增备,由于增备的原理是备份binlog日志实现,同时滚动一个binlog日志,所以第一个数据库的增备操作其实已经备份了所有数据库的增量数据,其余4个数据库没有必要在执行增备操作,且除了第一个增备的数据文件外,其他的增备数据binlog是空的,这是其二;

增备数据恢复时,如:我对test、test_1库分别进行了全备和增备操作,如果我不小心只将test_1库DROP了,那么可以对test_1库进行全备数据恢复操作,但是对test_1库进行增备数据操作时,用test_1/20170407091226增备目录进行恢复时,会报错,原因就是你的增备数据在第一个增备数据文件里,所以对于增备数据的恢复操作,需要进行数据的刷选操作,进行恢复;这是其三

对于进行增备时的数据库选择也有规定 index mysql.000205  mysql.000206  mysql.000207 zrm_checksum,如:我对test、test_1、test_2进行增备时,如果我选择了test库进行数据的增备,那么test会比较自己的index文件,会将当前binlog进行备份,还有将其他的binlog日志进行备份,但是因为是全备的原因binlog日志在test_2滚到了最新的,也就是说test_2库对应的binglog是存有最新变更的数据的,比如上面列的mysql.000205  mysql.000206日志就是滚动的空binlog日志,只有mysql.000207才存有最新的数据,所以在进行数据的增备时选择最后的test_2库进行数据的增备!这是其四


此四点,是mysql-zrm增备数据恢复时最需要注意的点了,网上的都是对一个数据进行的测试,没有实际的考虑到实际的生产环境是极少肯能只备份一个数据库的,最后希望本文能对你有所帮助!