免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7677 | 回复: 13
打印 上一主题 下一主题

MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-08 11:13 |只看该作者 |倒序浏览
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–前言

1.欢迎使用ZRM for MySQL用户手册
2.本手册可适用于ZRM for MySQL 2.1版本
3.ZRM for MySQL工具是用Perl开发的,其目标尽可能的适用于Linux/Unix分布式环境。
      已经测试的系统有Redhat,Suse Linux,Debian,Ubuntu,和Open Solaris/Solaris 10。
      支持任何平台的MySQL数据库备份
      支持4.0.x(4.0.24 以后版本),4.1.x,5.0 和5.1 等版本数据库备份,并已经在Linux,Solaris,MacOS X 和Windows 平台完成测试。
4.Zmanda已提供rpm包,Debian包,Solaris包和tar包下载。
5.本手册包括:
      能够成功执行所有MySQL数据库备份任务
      如何恢复数据库(注意还原和恢复二个名词在手册是会交替使用)
      建立恰当的数据保留策略,使硬盘空间永远保持在一定范围内。
6.所有的ZRM for MySQL命令行的输入和输出格式如下:
  1. mysql-zrm-reporter --where backup-set = "Daily"
复制代码



中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:23 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-09-08 11:15 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–介绍

介绍
—————————–
MySQL是一个最常见和多功能的数据库软件,越来越多的用户选择了MySQL。MySQL支持从一个用户的应用程序到上百万用户的应用程序。遗憾的是它没有任何系统有效的管理和备份工具。大约30%-40%的MySQL数据库没有系统的备份,很多数据库管理用通过脚本来实现MySQL数据库备份。

ZRM for MySQL
—————————–
Zmanda Recovery Manager for MySQL 是一个健壮MySQL备份和还原解决方案,具有自动化和灵活的特征。它可以非常方便数据库管理员完成备份和恢复工作。
1.根据你的需求定时备份
2.集中备份MySQL,集中管理ZRM服务
3.详细的备份报表输出
4.通过默认提供的插件可以定制化备份方案
5.本地备份或者远程备份MySQL数据库
6.本地存储备份数据,通过SAN硬盘存储或者NAS/SAN存储
下面的图表显示ZRM for MySQL备份多台MySQL数据库。





中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:23 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-09-08 11:19 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–功能

目录
1.优化数据库备份和恢复
2.数据库备份
3.数据库恢复
4.备份报表和计划
5.插件

优化数据库备份和恢复ZRM for MySQL理解优化数据库备份和恢复的重要性
1.提供相当的灵活性使用户可以定制备份的方法,等级,时间等
2.通过日志来帮助用户优化数据库备份和恢复
3.提供过滤器可以方便的定位数据库备份事件

数据库备份
1.ZRM for MySQL可以备份多个MySQL数据库
2.支持备份多台服务器上的多个数据库
3.支持备份数据库中的指定的表
4.支持数据库热备
5.根据数据库表的引擎,提供多种备份方法
6.二种备份等级:完全备份和增量备份
7.提供mysqldump,mysqlhotcopy,snapshots(Linux LVM/Solaris ZFS)和MySQL复制多种备份方法
8.透明实现各种数据库表引擎数据库备份
9.在ZRM备份服务器与数据库服务器之间支持SSL认证,可以通过Internet和防火墙安全备份。
10.检验备份数据的完整性
11.压缩和加密备份数据,如gzip,GPG等
12.灵活控制备份作业
13.支持快照备份,并转换真实备份

数据库恢复
1.ZRM for MySQL使数据库恢复变的很容易
2.使用备份索引文件(index)记录备份过程信息
3.使用报表工具查看备份索引文件
4.支持完全备份恢复和增量备份恢复
5.通过选择MySQL二进制日志中的时间或位置,可选择性的恢复误操作的数据
      恢复点可以是二进制日志中时间点或位置
      ZRM for MySQL通过MySQL二进制日志可以很容易的过滤出对数据库操作的行为  
      这些可以帮助你分析什么需要恢复,什么需要保留

备份报表和计划ZRM for MySQL可以按计划备份,立刻或按天/按周/按月
1.自动输出备份日志
2.可以预先定义备份报表,也可以用户自定义备份报表
3.可以报告任何备份信息或这些信息的组合
4.支持HTML和Text格式
5.备份信息邮件通知
6.备份信息RSS feed支持

插件
1.ZRM for MySQL提供插件来扩展工具功能
2.数据库管理员通过插件来定制数据库备份
3.提供插件模版,很容易创建新的插件
4.可以使用的插件
      Pre-scheduler 插件
      Pre-backup 插件
      Post-backup 插件
      Copy 插件
      二进制日志分析插件
      快照插件


中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:24 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2009-09-08 11:20 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–平台支持

ZRM for MySQL工具是用Perl开发的,其目标尽可能的适用于Linux/Unix分布式环境。
已经测试的系统有Redhat,Suse Linux,Debian,Ubuntu,和Open Solaris/Solaris 10。
支持任何平台的MySQL数据库备份
支持4.0.x(4.0.24 以后版本),4.1.x,5.0 和5.1 等版本数据库备份,并已经在Linux,Solaris,MacOS X 和Windows 平台完成测试。
Zmanda已提供rpm包,Debian包,Solaris包和tar包下载。下载地址:zmanda download
Gentoo版本ZRM for MySQL下载地址:这里


中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:24 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2009-09-08 11:23 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–预先安装的软件

目录
        1.检查需预先安装的软件
        2.调整需预先安装的软件
                2.1MySQL备份用户
                        2.1.1推荐配置
                        2.1.2最小化配置
                2.2二进制日志
                2.3使用快照备份
                        2.3.1使用LVM快照的前提条件
                        2.3.2Sudo权限配置
                2.4配置SSL实现远程安全备份

------------------------------------------------------------------------------

检查需预先安装的软件
核实你部署MySQL版本,是否已经被ZRM for MySQL支持
核实ZRM服务器和mysql服务器上是否有mysql用户和组,同时MySQL服务进程也需要以这个用户及组运行。逻辑备份是不需要的。
mysql用户的uid和gid必须在ZRM服务器上和MySQL服务器上保持一致
在zrm服务器上必须安装如下mysql客户端命令,即使zrm服务器是用于备份远程mysql数据库。
  1.         mysqladmin
  2.         mysqlhotcopy
  3.         mysqldump
  4.         mysqlbinlog
  5.         mysql
复制代码
ZRM for MySQL程序必须安装在mysql服务器上。
在zrm备份服务器上的mysql客户端命令的版本必须要兼容mysql服务器上mysql命令的版本
最好是mysql客户端命令版本和mysql服务器上命令版本一致
检测mysql客户端命令是否安装在/usr/bin/目录下。如果不是,相应的在mysql-zrm.conf中配置mysql客户端命令路径和mysql二进制目录路径。
安装和配置ZRM for MySQL需要管理员用户,但所有的ZRM for MySQL命令可以以mysql用户组的用户运行。
如下perl模块是必须安装的。
  1.         perl-DBI
  2.         MySQL-perl-DBD
  3.         perl-XML-Parser
复制代码
ZRM for MySQL服务器上需要配置邮件发送程序,通过邮件发送备份信息。
Solaris系统需要安装一些GNU软件包,这些有的已经安装到系统上面了,有的需要到Sun Freeware网站上面下载安装。主要检查这些软件版本
  1.         SUNWcsu Core Solaris
  2.         SUNWsshcu SSH Common
  3.         SUNWgzip GNU Zip
  4.         SMCtar GNU tar
  5.         SMCsudo GNU sudo
  6.         SMCgrep GNU grep
  7.         SMCcoreu GNU coreutils
复制代码
SMC 软件包依赖于如下库
  1.         SMCliconv
  2.         SMClintl
  3.         SMClgcc346
复制代码
安装前的设置
MySQL数据库和操作系统的一些说明
不要使用Root用户执行备份
        当为root用户不允许执行数据库备份和恢复,应该创建一个专门的MySQL备份和恢复用户
增量备份
        要支持增量备份,必须在MySQL数据库中开启二进制日志支持
快照备份
        快照备份指将备份的数据和日志存储到支持快照的逻辑卷中
MySQL服务器和ZRM服务器直接的安全访问
        强烈推荐使用SSL作为不安全网络之间的访问方式


MySQL执行备份的用户
推荐操作
我们推荐新建一个MySQL备份用户来代替root用户。如果mysql备份用户和恢复用户不一致时,请在mysql-zrm.conf配置文件设置mysql备份用户的权限,而数据库还原的用户则可以在mysql-zrm命令行通过--user和--password指定。

最小权限设置
mysql数据备份用户和mysql数据恢复用户所需的最小权限分别为:
备份用户:
  1. LOCK TABLES,SELECT,FILE,RELOAD,SUPER,SHOW VIEW*
复制代码
还原用户:
  1. CREATE,DROP,INDEX,SHUTDOWN,INSERT,ALTER,SUPER,REPLICATION CLIENT,CREATE VIEW*
复制代码
在MySQL5.x上执行逻辑备份时,SHOW VIEW and CREATE VIEW 权限是必须的。

MySQL备份用户需要SUPER权限,即使MySQL复制没有使用
在做增量备份时,ZRM需要SUPER全新来启动二进制日志
在做了MySQL复制,在从服务器(slave)上作备份时,除了在上述权限的基础上还需要REPLICATION CLIENT权限
实例:赋予最小的备份权限给用户dba-backup,用户在主机"server.company.com"执行远程备份(MySQL4.0.24)
  1. mysql> GRANT LOCK TABLES, SELECT, FILE, RELOAD, SUPER
  2.      -> ON expenses.*
  3.      -> TO 'dba-backup'@'server.company.com'
  4.      -> IDENTIFIED BY 'obscure';
复制代码
在"servercompany.com"主机上面执行ZRM for MySQL备份命令
注意:如果是备份远程mysql服务器,备份用户的即要有访问本地ZRM服务器的权限也要有访问远程MySQL服务器的权限。

二进制日志
MySQL增量备份必须在MySQL服务器启动二进制日志,可以在启动的命令行中添加--log-bin。
  1. mysqld --log-bin=<binlogfilename>
复制代码
注意:
启动二进制日志,大概会减小1%的性能
将二进制日志文件保存在一个单独的文件系统比将二进制日志文件和数据文件保存在同一个文件系统,会有更好的性能。
翻阅http://dev.mysql.com/doc/refman/5.0/en/binary-log.html可以获得更多关于MySQL二进制日志的信息

使用快照备份
ZRM for MySQL可以创建LVM或ZFS卷的临时快照,然后使用临时快照创建备份数据。临时快照也被看成是一种备份数据。使用快照备份数据的优势是只有在执行快照时锁定表。执行完备份后,快照会被删除。快照可以帮助创建完整的数据复制备份,就像数据备份前一样的完整数据。

如果MySQL数据库/表使用的是事务性引擎,如InnoDB,则应用的锁定时间会很短
如果MySQL数据库/表使用的是非事务性引擎,如MyISAM,ZRM for MySQL会将内存中的信息刷新到硬盘中,然后获得数据库/表的锁。而且读锁的时间只是暂时的。
当数据库文件时保存在支持锁/解锁操作的文件系统时,如XFS,VxFS(Verital file systems)或ZFS。在执行快照前文件系统的I/O操作会被暂停。

要执行快照备份,所有的数据库文件(数据文件,日志文件,索引文件)都需要存储在快照卷中。如果不能,则会执行默认的裸设备备份。

使用LVM快照的前提
在卷组中创建空闲的分区以供快照使用,可以用vgdisplay命令查看。空闲的分区可以在mysql-zrm.conf配置文件的"backup parameters"配置段设置。

sudo配置
要以默认用户mysql或其他非root用户执行快照备份,必须首先设置sudo配置文件。
有些Linux版本执行sudo会出现下面的错误:
  1. "sudo: sorry, you must have a tty to run sudo,"
复制代码
执行visudo命令,注释下面的行:
  1. #Default requiretty
复制代码
非root用户要执行LVM快照备份,需要在配置sudo配置文件

实例:ZRM系统用户是mysql,sudo配置文件配置如下:
  1. mysql ALL = NOPASSWD:/bin/mount, NOPASSWD:/bin/umount, NOPASSWD:/bin/df, NOPASSWD:/sbin/lvdisplay, NOPASSWD:/sbin/lvcreate, NOPASSWD:/sbin/lvremove
复制代码
实例:执行ZFS快照备份,编辑ZRM所在服务器上的/usr/local/etc/sudoers配置文件
  1. mysql MySQLserver.mycompany.com=NOPASSWD:/usr/sbin/zfs
复制代码
配置SSL实现远程安全备份
SSL为备份网络之间提供了一种额外的安全层。只有在执行远程逻辑备份时,才需要在ZRM服务器与MySQL服务器直接安装SSL支持。

可以用下面二种方法来核实MySQL服务是否支持SSL
在MySQL服务器上执行下面的命令
  1. # mysqld --ssl --help
复制代码
当MySQL不支持SSL时,将回应这样的信息
  1. 060828 15:25:08 [ERROR] mysqld: unknown option '--ssl'
复制代码
在MySQL数据库中检查have_openssl变量
  1. mysql> SHOW VARIABLES LIKE 'have_openssl';
  2. +---------------+-------+
  3. | Variable_name | Value |
  4. +---------------+-------+
  5. | have_openssl  | YES   |
  6. +---------------+-------+
复制代码
翻阅http://dev.mysql.com/doc/refman/5.0/en/secure-using-ssl.html获得更多MySQL支持SSL的信息。

当在执行远程备份时,我们推荐使用下面二种方法来配置MySQL支持SSL。
编辑ZRM服务器上的/etc/my.cnf文件:
  1. ssl-ca=<mysql_conf_dir>/openssl/cacert.pem
  2. ssl-cert=<mysql_conf_dir>/openssl/client-cert.pem
  3. ssl-key=<mysql_conf_dir>/openssl/client-key.pem
复制代码
编辑ZRM for MySQL的配置文件/etc/mysql-zrm.conf
  1. ssl-options="--ssl --ssl-ca=<mysql_conf_dir>/openssl/cacert.pem
  2.                     --ssl-cert=<mysql_conf_dir>/openssl/client-cert.pem        
  3.                     --ssl-key=<mysql_conf_dir>/openssl/client-key.pem"
复制代码



中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:24 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-09-08 11:24 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–软件下载

下载ZRM for MySQL软件包
可以在zmanda download下载ZRM for MySQL软件包和MySQL数据库软件包。
        有二种形式的ZRM for MySQL软件包,MySQL-zrm RPM包和MySQL-zrm-client RPM包。MySQL-zrm RPM需要安装在ZRM备份服务器上,MySQL-zrm-client RPM包需要安装在MySQL数据库服务器上。
其他平台可以在zmanda download下载源代码软件包,自己编译安装。

验证软件包
验证RPM包签名,如果签名不正确,重新下载试试。
验证源代码包和debian软件包的MD5码,然后和官网下载页面的MD5码进行比对。


中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:25 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2009-09-08 23:39 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–软件安装

目录
        1.从RPM包安装
        2.从Debian软件包安装
        3.在Solaris安装
        4.从源代码安装

从RPM包安装
以管理员用户登录ZRM备份服务器
用rpm命令安装软件包
  1. # rpm -ivh MySQL-zrm-2.1-1.noarch.rpm
  2. Preparing... ########################################### [100%]
  3. 1:MySQL-zrm ########################################### [100%]
复制代码
在将要备份的MySQL服务器上安装MySQL-zrm-client RPM包

从Debian软件包安装
以管理员用户登录ZRM备份服务器
用dpkg命令安装软件包
  1. # dpkg -i mysql-zrm_2.1_all.deb
  2. Unpacking mysql-zrm (from mysql-zrm_2.1_all.deb) ...
  3. Setting up mysql-zrm (2.1) ...
复制代码
在将要备份的MySQL服务器上安装MySQL-zrm-client debian软件包
  1. # dpkg -i mysql-zrm-client_2.1_all.deb
  2. Unpacking mysql-zrm-client (from
  3.    mysql-zrm-client_2.1.1_all.deb) ...
  4. Setting up mysql-zrm-client (2.1) ...
  5. Reloading internet superserver: inetd.
复制代码
在Solaris安装
以管理员用户登录ZRM备份服务器
用gunzip命令解压下载到的软件包
  1. # pkgadd -d MySQLZrm-2.1-SunOS5.10-noarch.pkg
复制代码
  1. The following packages are available:
  2. 1  MySQLZrm     Zmanda Recovery Manager for MySQL backup
  3.                  (all) 2.1
  4. Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]:
  5. Processing package instance <MySQLZrm> from </tmp/MySQLZrm-2.1-SunOS5.10-noarch.pkg>
复制代码
注意:命令完整的输出没有贴出来

从源代码安装
以管理员用户登录ZRM备份服务器
解压tar包
  1. $ gunzip MySQL-zrm-2.1-release.tar.gz
复制代码
使用tar命令提取文件
最好是先将文件解压提取到一个临时目录,然后在移动到相应的目录中
文件会被提解压提取到当前工作目录
在root用户目录下解压提取软件包,然后安装
  1. $ mkdir /usr/tmp/MySQL-zrm; cd /usr/tmp/MySQL-zrm
  2. $ tar xvf MySQL-zrm-2.1-release.tar
复制代码



中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:25 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2009-09-09 22:55 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译-文件分布

安装ZRM for MySQL后,在ZRM备份服务器上文件分布如下:

可以执行文件 /usr/bin
man文件 /usr/share/man/{man1,man5}
配置文件/etc/mysql-zrm
插件模版和实例 /usr/share/mysql-zrm/plugins
README文件和说明文档  /usr/share/doc/MySQL-zrm-* or /usr/share/doc/mysql-zrm
库文件 /usr/lib/mysql-zrm
日志文件 /var/log/mysql-zrm
数据备份目录  /var/lib/mysql-zrm


中文项目主页:http://www.lazysa.com/zrm-for-mysql


[ 本帖最后由 longkaty 于 2009-9-20 23:25 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2009-09-09 22:56 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译-Perl模块安装

在ZRM备份服务器和MySQL数据库服务器上都需要安装perl,在安装ZRM for MySQL之前还需要安装二个Perl模块:
perl-DBI,MySQL-perl-DBD:MySQL客户端命令(如mysqlhotcopy)需要使用这二个perl模块。分别为数据库连接依赖模块,和MySQL连接模块。
perl-XML-Parser:这个模块在使用RSS feed功能时所必须的。

这些模块在有的操作系统上面已经安装,如果没有,在CPAN上面下载安装。在Redhat系统上,可以使用yum命令来安装;在Debian/Ubuntu系统上面,可以用apt-get命令安装;在Solaris系统上,可以在Sun freeware下载相应的软件包安装。推荐使用各发行版官方提供的Perl模块软件包安装。

也可以从CPAN下载Perl模块源代码包,进行编译安装。但是不推荐这样安装Perl模块。

用下面的命令来从CPAN安装DBI模块:
  1. # perl -MCPAN -e 'install DBI'
复制代码
用下面的命令来从CPAN安装perl-XML-Parser模块
  1. # perl -MCPAN -e 'install XML::Parser'
复制代码




中文项目主页:http://www.lazysa.com/zrm-for-mysql

[ 本帖最后由 longkaty 于 2009-9-20 23:26 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-09-09 22:57 |只看该作者
MySQL数据库备份和恢复方案ZRM for MySQL手册中文翻译–备份组

使用单一的备份参数来备份所有的数据库,性能是非常低的。要么备份花费太多的时间(备份内容太多导致用户抱怨),要么备份量太大或太小,不适合数据恢复。

要优化数据库备份,ZRM for MySQL使用了“备份组”的概念。一个备份组包含的一套数据库或表,将使用同样的备份方式和同样的备份计划。每个备份组的名称在一个备份服务器上是唯一的。

在全局配置文件mysql-zrm.conf中的参数会作用于所有的数据库,或被备份组中的配置文件参数所覆盖。

要指定备份组的备份参数,需要在备份组目录中添加mysql-zrm.conf配置文件。

可以在全局配置文件(通常为:/etc/mysql-zrm.conf),备份组配置文件(通常为:/etc/backupsetname/mysql-zrm.conf),备份命令中指定备份参数。当配置了同样的备份参数时,备份组配置文件中的备份参数会覆盖全局配置文件中的备份参数,备份命令行中的备份参数会覆盖备份组配置文件和全局配置文件中的备份参数。

为了减轻管理员的设置配置参数的负担,在没有设置参数时,ZRM for MySQL采用默认的配置参数。

多个备份组

1.根据MySQL数据应用及备份将花费的时间,创建多个备份组是非常明智的。同一个应用的多个数据库或表的备份应该在同一个备份组中。
2.在一个备份组中,用户可以定义要备份的数据库/表,用户可以定义要备份的数据库,或要备份的表,或要备份的数据库和表。
3.不同的备份组可以定义备份不同的数据库/表和不同的MySQL数据库备份参数。
4.所有的备份组可以共享备份数据存储路径。


中文项目主页:http://www.lazysa.com/zrm-for-mysql


[ 本帖最后由 longkaty 于 2009-9-20 23:26 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP