浏览 2480 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-05
最后修改:2011-05-10
如果是32位的系统,默认将xtrabackup0.9.zip的内容放到mysql的bin目录下即可。 也可以编译数据库时一起编译,以5.0.88为例: 首先下载它的源代码:http://www.percona.com/mysql/xtrabackup/ 注意:它必须和mysql源代码一起编译 # tar zxvf mysql-5.0.88.tar.gz # tar zxvf xtrabackup-0.8-src.tar.gz 将XtraBackup移到InnoDB的源码目录,如果使用的是MySQL5.1,目录改为/mysql-5.1.*/storage/innobase/ # mv xtrabackup-0.8-src ./mysql-5.0.88/innobase/ # cd mysql-5.0.85/innobase 给InnoDB源码打上补丁,如果使用的是MySQL5.1,使用fix_innodb_for_backup51.patch # patch –p2 < . /xtrabackup-0.8-src/fix_innodb_for_backup.patch 进入目录mysql-5.0.88 # cd .. # ./configure 我们只需要Make就可以了,不需要Make install #make # cd innobase/xtrabackup-0.8-src 编译XtraBackup,MySQL5.1必须要使用XtraBackup0.9 #make 编译成功后,我们会获得可执行文件xtrabackup、innobackupex-1.5.1 xtrabackup可以在不加锁的情况下备份innodb数据表,不过此工具不能操作myisam的表。 innobackupex-1.5.1是一个脚本封装,能同时处理innodb和myisam,但在处理myisam时需要加一个读锁。 二、使用 XtraBackup 这里列出比较常用的备份命令:普通备份、打包(Tar)备份、压缩(Tar gzip)备份。 1、普通备份 备份: # innobackupex-1.5.1 --defaults-file=/etc/my.cnf --user=root --password=pdcss --databases=pdcss /home/mysql/backup/ 2>/home/mysql/backup/common.log 这里我们使用mysql的root用户备份,密码为123。备份的目标目录(target dir)是/home/mysql/backup/1/innobackup/,innobackupex-1.5.1将在该目录下生成备份。 例如/home/mysql /backup/2011-05-05_08-55-57就是我执行脚本后生成的备份,所有的备份文件都在该2011-05-05_08-55-57目录下。 这里的2>/home/mysql/backup/common.log,是将备份过程中的输出信息重定向到common.log。 另外innobackupex-1.5.1还支持增量备份。 那如何恢复呢?为了模拟恢复过程,我先将MySQL停止,并删除MySQL的data目录下所有数据文件。 # cd /usr/local/mysql/data/pdcss # rm –rf * 恢复: # innobackupex-1.5.1 --apply-log /home/mysql/backup/2011-05-05_08-55-57 # innobackupex-1.5.1 --copy-back /home/mysql/backup/2011-05-05_08-55-57 # cd /usr/local/mysql/data/pdcss 修改文件的访问权限 # chown -R mysql:mysql . 命令innobackupex-1.5.1需要指定具体哪个备份目录,先应用备份log,然后copy back。这里的备份目录是/home/mysql/backup/2011-05-05_08-55-57 innobackupex-1.5.1会根据/et/my.cnf来确定MySQL的数据位置。 2. 打包(Tar)备份 这里基本和前面的普通备份类似,需要注意的是,恢复解压缩时,必须使用-i参数。 备份: # innobackupex-1.5.1 --defaults-file=/etc/my.cnf --user=root --password=pdcss --databases=pdcss --stream=tar /home/mysql/backup/ 2>/home/mysql/backup/tar.log 1>/home/mysql/backup/tar.tar 恢复: 解压压缩 这里-i参数是必须的。 # tar –ixvf tar.tar # innobackupex-1.5.1 --apply-log /home/mysql/backup/ # innobackupex-1.5.1 --copy-back /home/mysql/backup/ # cd /usr/local/mysql/data/pdcss 修改文件的访问权限 # chown -R mysql:mysql . 3. 压缩(tar gzip)备份 备份: # innobackupex-1.5.1 --defaults-file=/etc/my.cnf --user=root --password=pdcss --databases=pdcss --stream=tar /home/mysql/backup/ 2>/home/mysql/backup/gz.log | gzip > /home/mysql/backup/gz.tar.gz 这里使用了管道|将innobackupex-1.5.1作为gzip的标准输入。它的恢复过程,只需要使用tar –izxvf 解压对应的文件后,操作完全同普通备份。 4、其它 解决备份出错“ innobackupex-1.5.1:fatal error:no 'mysqld' group in MySQL options ”问题: 修改 MySQL 配置文件 my.cnf 如下: [mysqld] ...... #设置参数 datadir 的值 datadir=/usr/local/mysql/data ...... 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |