首页 > Linux操作系统 > Linux操作系统 > Mysql zrm安装和使用
Zrm是zmanda公司开发的一个mysql备份还原工具。
下载地址为:http://www.zmanda.com/download-zrm.php
根据版本选择对应的工具。
安装zrm之前需要安装关于perl和DBI等一系列的包,因为zrm使用perl写的一个脚本工具。
下面是测试的环境:
OS:RHEL5.4 i386
MYSQL:5.5.16
Zrm:ZRM for MySQL Community Edition - version 2.2.0
安装zrm,直接rpm -ivh rpm包即可。
配置zrm
|
cd /etc/mysql-zrm/ cp mysql-zrm test/ cp mysql-zrm.conf test/ cd test/ vi mysql-zrm.conf |
|
#comment=This is a comment <--- 标注 backup-level=0 <---备份级别,0为完全备份,1为增量备份。 backup-mode=raw <---备份的方法,是裸备份还是逻辑备份,默认值是raw #lvm-snapshot=10M <---LVM快照的尺寸,只适用于裸备份的情况。并且数据存储在lvm逻辑卷中 #snapshot-plugin="/usr/share/mysql-zrm/plugins/lvm-snapshot.pl"
# Specifies the type of backup # Values can be "regular" or "quick". # Quick backup type uses the snapshot itself as the backup # without copying the data from the snapshot volume #backup-type=quick
destination=/var/lib/mysql-zrm <---指定备份的路径,必须预先创建好这个目录 retention-policy=10W <---指定备份的有效期,D为天,W为周,M为月,Y为年,这个参数是可选的,默认是永久 #replication=1 <---如果mysql zrm备份在从库上进行,则这个参数必须设置为1 #compress=1 <---是否启用压缩,若启用压缩则要设置为1,1为gzip格式的压缩,如果想使用其他的压缩方式,则需要设置compress-plugin参数,默认为不进行数据压缩。 #compress-plugin=/usr/bin/gzip <---这个参数是为压缩服务的,我们可以使用其他的压缩方式。 #encrypt=1 <---加密,设置为1则加密,默认为不加密。同时encrypt-plugin必须呗设置。 #encrypt-plugin="/usr/share/mysql-zrm/plugins/encrypt.pl"<---加密的perl脚本,同时decrypt-option也需要被设置。 #decrypt-option="-d" #all-databases=1 <---若要备份所有数据库则要设置为1 databases=wikidb forums <---设置要备份的库,各个库之间用空格分开。有这个参数则忽略all-databases #tables=text user page <---备份哪几个表 #database="wikidb" <---参数tables要备份的几个表属于哪个库 # exclude-pattern= #user="wikiuser" <---拥有备份权限的用户,可以新建一个专门用来备份的用户。若这个参数不指定,则此参数从my.cnf中读取 #password="userwiki" <---备份用户的密码。 #host="localhost.company.com" <---mysql服务器的完整名称。 #port=3306 <---mysql服务器的监听端口,默认是3306 #socket=/var/lib/mysql/mysql.sock <---连接mysql服务器的套接字的名称,和my.cnf中配置的一样。 #ssl-options="--ssl --ssl-ca=file1 --ssl-cert=file2 --ssl-key=file3" <---这个字段是允许mysql客户端使用ssl协议连接mysql服务器 #routines=1 <---这个参数是指定可以dump出存储函数。 #single-transaction=0 <---此参数支持事务的一致性,不能用于logical备份下。 #default-character-set=latin1 <---指定字符集 #mysql-binpath="/opt/lampp/bin" <---mysql命令的路径 #mysql-binlog-path="/var/log/mysql" <---指定mysql二进制日志的路径 #tmpdir=/tmp <---指定临时存储路径
#verbose=1 <---控制了mysql zrm的输出日志信息量的多少,默认是0,少量信息。 #mailto="mysqldba@company.com" <---发送邮件的地址 #mail-policy=always <---当邮件需要发送时的策略。Always,never,only-on-error |
测试
|
backup-level=0 backup-mode=raw destination=/tmp/mysql-zrm retention-policy=10D compress=1 #all-databases=1 databases=test rvdb_bailh tables=t1 tl test `Test` database=test user="root" password="" socket=/tmp/mysql.sock verbose=1 port=3306 single-transaction=1 routines=1 |
|
mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | Test | | t1 | | test | | tl | +----------------+ 4 rows in set (0.00 sec)
[root@basic test]# mysql-zrm-backup --backup-set test [root@basic test]# cd /tmp/mysql-zrm/test [root@basic test]# ll total 4 drwx------ 2 root root 4096 Dec 8 14:10 20111208141003 mysql> drop table t1; Query OK, 0 rows affected (0.01 sec) mysql> drop table test; Query OK, 0 rows affected (0.01 sec) mysql> drop table tl; Query OK, 0 rows affected (0.00 sec) mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | Test | +----------------+ 1 row in set (0.00 sec) [root@basic test]# mysql-zrm-restore --source-directory=/tmp/mysql-zrm/test/20111208141003 mysql> show tables; +----------------+ | Tables_in_test | +----------------+ | Test | | t1 | | test | | tl | +----------------+ 4 rows in set (0.00 sec) 恢复成功。 |
查看备份的报告
|
[root@basic test]# mysql-zrm-reporter --where backup-set=test --show backup-status-info REPORT TYPE : backup-status-info
backup_set backup_date backup_level backup_status backup_type comment ----------------------------------------------------------------------------------------------------------------------------- test Thu 08 Dec 2011 02:10:03 0 Backup succeeded regular ---- PM CST |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24212278/viewspace-712949/ ,如需转载,请注明出处,否则将追究法律责任。