用MySQL-zrm来备份(支持增量)和恢复MySQL数据库

用MySQL-zrm来备份(支持增量)和恢复MySQL数据库
用MySQL-zrm来备份(支持增量)和恢复MySQL数据库

MySQL-zrm是用perl脚本写的mysql备份还原工具,功能十分强大,少废话,直奔主题!

官方主页:[url]http://mysqlbackup.zmanda.com/index.php/Main_Page[/url]
帮助文档:[url]http://mysqlbackup.zmanda.com/index.php/Zmanda_Recovery_Manager_for_MySQL_Users_Manual[/url]


1,安装perl所需要的模块
前提是你必须能连上互联网
# perl -MCPAN -e 'install DBI'
# perl -MCPAN -e 'install XML::Parser'

2,建立备份用户
mysql> grant lock tables, select, file, reload, super, show view on *.* to backup_user@'localhost' identified by 'backup_user';
mysql> flush privileges;

3,安装MySQL-zrm
# rpm -ivh MySQL-zrm-2.1-1.noarch.rpm
# rpm -ivh MySQL-zrm-client-2.1-1.noarch.rpm

4,修改/etc/mysql-zrm/mysql-zrm.confm配置文件,如下:
backup-mode=logical
destination=/root/test
replication=1
databases=test
user="root"
password="foxshare"
socket=/tmp/mysql.sock
mysql-binpath="/usr/local/mysql/bin"
mysql-binlog-path="/var/lib/mysql"
mailto="root@localhost"

根据你自己的实际环境进行修改,我用的myisam引擎,用mysqldump进行的备份。


5,开始全部备份
# mysql-zrm-scheduler --now --backup-set test --backup-level 0

6,开始全部恢复
   先将你原来的那个test数据库删除。
#  mysql-zrm --action restore --backup-set test --source-directory /root/test/test/20090116155515/

OK,看看你的数据是不是恢复了!!


7,我们来看看增量备份
这个要��嗦下,如果我们数据量小,负载小,就一台mysql服务器,那么我们的全部备份和增量备份都可以在这台机器进行,如果采用的是主从结构,增量备份还在主服务器上的话,那么就会影响主数据库的正常运行,此时我们可以在从库上进行全部备份,在主服务器上备份binlog日志进行增量备份,这个时候,要告诉mysqlzrm采用从服务器的模式进行备份,就会把主服务器的偏移量进行记录,那么我们只要保留有主服务器的binlog日志,就可以根据这个偏移量进行数据同步了。

原来的test数据库已经全部备份了,那么我们就开始增量备份。

# mysql-zrm --action backup --backup-set test --backup-level 1

ok,这样就增量备份完毕了,不信,你可以恢复这个文件看看,恢复步骤如下:
先还原全备份,删除那个test数据库。
mysql-zrm --action restore --backup-set test --source-directory /root/test/test/20090116155515/
再还原增量备份
mysql-zrm --action restore --backup-set test --source-directory /root/test/test/20090116171100/


如果是主从架构的模式,让我们来看下全部备份了什么东西?
-rw-r--r--  1 root  root  53018 Jan 16 17:08 backup.sql
-rw-r--r--  1 root  root    502 Jan 16 17:08 index
-rw-rw----  1 mysql mysql    76 Jan 16 17:08 master.info
-rw-rw----  1 mysql mysql    59 Jan 16 17:08 relay-log.info
-rw-r--r--  1 root  root    278 Jan 16 17:08 zrm_checksum

看下那个master.info文件
15
mysql-bin.000001
292106
192.168.1.225
replication
slave
3306
60
0

这里要注意那个“292106”偏移量,这个就是我们全备份的时候,主服务器的最后更新数据的偏移量。等下我们会用到它,当你在从服务器上进行全备份恢复数据后,可以根据上面将的这个偏移量进行数据同步了,其实主从架构的增量备份就是备份主数据库的binlog日志,哈哈哈,是不是比较简单,祝你好运!!



你可能感兴趣的:(数据库,mysql,备份,恢复,休闲)