本博文声明,特别适合初次应用此工具的小白使用,原因看完就明白,OK,开始吧!

1、前期准备:

因为mysql-zrm这个备份工具是用perl语言写成的工具,所有要先安装一些软件包,来为mysql-zrm工具提供必要的环境

yum install perl-DBI perl-DBD-MySQL perl-XML-Parser -y

PS:(网上好多人云亦云,要不就是复制、转载别人的,不需要那么复杂,只需要安装这3个包即可)

2、创建备份用户

mysql> grant select,insert,update,create,drop,reload,alter,super,lock tables on *.* to 'backup'@'localhost' identified by 'backup';

mysql> flush privileges;

3、为每个数据库设置单独的存放目录,这样方便管理和恢复数据(本例有三个数据库)

cd /etc/mysql-zrm

mkdir {,_1,_2}

cp mysql-zrm.conf test

cp mysql-zrm.conf test_1

cp mysql-zrm.conf test_2

4、在/etc/mysql-zrm/test、test_1、test_2目录下分别修改mysql-zrm.conf配置文件:设置包括但不限于: 备份用户名、密码、备份级别等参数

backup-level=0 #备份级别,0表示全备,1表示增备 ,也可以在命令行中指定

backup-mode=logical #备份方式,逻辑备份

destination=/common #备份数据存放目录,默认/var/lib/mysql-zrm/目录

retention-policy=30D #备份文件存放时间,30天

compress=1 #备份压缩,gzip方式

verbose=1 #记录详细信息

database="test" #需要备份的数据库,分别在test、test_1、test_2目录下修改对应的

database="test_1"

database="test_2"

user="backup"

password="backup"

port=3306

socket=/var/lib/mysql/mysql.sock

<?xml:namespace prefix="o">

?xml:namespace>

PS:如果你需要备份所有的数据库,仅仅需要在/etc/mysql-zrm/mysql-zrm.conf配置文件中需改参数all-databases=1即可

5、好了,配置好了,可以进行备份了!

先进行一次全备:

[root@dns1 mysql-zrm]#mysql-zrm-scheduler --now --backup-set test

ls /common/test/20170407091226 (这个是我的备份文件存放目录)

backup.sql index zrm_checksum

backup-data:备份的数据文件

index:备份信息,包括备份级别,备份的数据库名称等

zrm_checksum: 备份文件存放目录,和备份文件的检验和,以此来实现增备的基础

注意我红色加粗的部分了吗?这个备份是有规定的!!必须在/etc/mysql-zrm/目录下进行(网上好多不写明目录,导致切出该目录怎么也备份不了。。。。都是眼泪啊!

/usr/bin/mysql-zrm started successfully 成功的备份信息

再进行一次增量备份:

[root@dns1 mysql-zrm]#mysql-zrm-scheduler --now --backup-level=1 --backup-set test

index mysql.000163 zrm_checksum

没错就是备份binlog日志来实现增备的,所以你要开启你的binlog。。

6、查看备份的数据信息:

mysql-zrm-reporter --show restore-info where backup-set=test 主要指明你的备份目录

mysql-zrm-reporter --show backup-performance-info where backup-set xin 主要指明备份文件大小、备份时间、是否压缩等

7、OK,备份成功了,再测试一下如何来恢复你的数据:(全备和增备唯一的区别就是备份的恢复目录别写错了)

[root@dns1 common]# mysql-zrm --action restore --source=/common/test/20170407091226/ --backup-set test --verbose

PS:common目录是你的备份数据存放目录

好了,现在已经整完了整个流程,你的备份实现了吧,当然了,因为每个人的机器原来的环境不一致,如果你备份的时候,出现了什么问题,欢迎写留言,这也是促进我自身的一种方式!

本文出自 “You're the best” 博客,谢绝转载!

更多相关文章

  1. Mysqlbackup 3.9.0 企业级备份工具详解
  2. 如何在VB.net中进行备份和恢复mysql数据库
  3. mysql备份文件损坏的修复
  4. 再放100分,问:你是如何备份大于5M的mysql数据库的
  5. 为mysql数据备份建立最小权限的用户
  6. C++编写数据库备份程序,支持MSSQL\Oracle\MySQL
  7. 急啊,在线等!!mysql 如何实现增量备份
  8. Navicat工具备份还原mysql数据库详细图解
  9. 使用C#在MySQL中备份数据库

随机推荐

  1. 用c程序实现的算法必须要有输入个输出操
  2. 0基础学c语言看什么书?
  3. c语言主函数名是什么?
  4. c语言源程序的基本单位是什么
  5. c语言system函数用法
  6. c++源程序文件的扩展名是什么
  7. 一个c语言程序由什么组成
  8. vb.net和vb的区别是什么?
  9. c语言可以直接对硬件进行操作吗
  10. 汇编语言和c语言之间有什么区别?