zoukankan      html  css  js  c++  java
  • percona-xtrabackup安装及使用教程

    安装percona-xtrabackup依赖包(前提已安装mysql)

    yum -y install perl-CPAN perl-DBD-MySQL perl make gcc gcc-c++ patch libgcrypt libgcrypt-devel libaio libaio-devel automake autoconf bzr bison libtool ncurses5-devel zlib zlib-devel

    安装Time::HiRes依赖包(不停的yes即可,其中会有warning,忽略即可)

    perl -MCPAN -e 'install "Time::HiRes"'
    tar -zvxf percona-xtrabackup-2.1.5.tar.gz
    cd percona-xtrabackup-2.1.5
    AUTO_DOWNLOAD="yes" ./utils/build.sh innodb51 (mysql5.1版本)

    AUTO_DOWNLOAD="yes" ./utils/build.sh innodb55 (mysql5.5版本)
    复制相应文件至/usr/bin目录

    Mysql5.1

    cp innobackupex /usr/bin/
    cp src/xbcrypt /usr/bin/
    cp src/xbstream /usr/bin/
    cp src/xtrabackup_plugin /usr/bin/
    cp src/xtrabackup_plugin /usr/bin/xtrabackup

    Mysql5.5

    cp innobackupex /usr/bin/
    cp src/xbcrypt /usr/bin/
    cp src/xbstream /usr/bin/
    cp src/xtrabackup_innodb55 /usr/bin/
    cp src/xtrabackup_innodb55 /usr/bin/xtrabackup
    cp src/xtrabackup_innodb55 /usr/bin/xtrabackup55
    cp src/xtrabackup_innodb55 /usr/bin/xtrabackup_55

    5.5版本备份全库

    innobackupex --user=root --password=123456 /data/bak/

    5.1版本备份全库(5.1版本需添加--ibbackup=xtrabackup 参数,否则备份会报错

    innobackupex --user=root --password=123456 --ibbackup=xtrabackup /data/mysqlbak/

    压缩备份:

    innobackupex --user=databak --password=123456 --ibbackup=xtrabackup --stream=tar /data/bak/ | gzip1 >/data/bak/a.tar.gz

    还原全库
    准备还原

    innobackupex --user=root --password --defaults-file=/etc/my.cnf --apply-log /data/bak/2013-11-12_23-44-45/

    开始还原

    innobackupex --user=root --password --defaults-file=/etc/my.cnf --copy-back /data/bak/2013-11-12_23-44-45/

    重新赋权:

    chown -R mysql:mysql /var/lib/mysql

    启动mysql

    /etc/init.d/mysql start

    增量备份:

     基于目录的增备:
    /data/bak/2013-11-12_23-44-45(全备目录)

    innobackupex --user=root --password=123456--incremental /data/bak/ --incremental-basedir=/data/bak/2013-11-12_23-44-45

    基于lns的增备(方法与基于目录的增备相同):
    Lsn的值参照如下图所示:

    innobackupex --user=root --password=123456 --incremental /data/bak/ --incremental-lsn=722499939

    备份的时候提示Warning
    This procedure only affects XtraDB orInnoDB-based tables. Other tables with a different storage engine, e.g. MyISAM,will be copied entirely each time an incremental backup is performed.
    官方提示:增量备份仅针对innodbxtradb引擎,myisam在运行增量备份时实际上是完全复制的全备份(全备会锁全库)。

    数据库还原(测试)

    /etc/init.d/mysql stop;
    mv  /var/lib/mysql /var/lib/mysqlbak(一般情况下,不要让rm成为习惯,习惯mv可以尽量避免误删操作)

    准备还原:

    innobackupex --apply-log --redo-only/data/bak/2013-11-12_16-49-05 --ibbackup=xtrabackup

    将增量备份内容添加进全备份中

    innobackupex --apply-log --redo-only/data/bak/2013-11-12_16-49-05 --incremental-dir=/data/bak/2013-11-12_16-59-42
    innobackupex --apply-log --redo-only/data/bak/2013-11-12_16-49-05/ --incremental-dir=/data/bak/2013-11-12_17-01-11
    innobackupex --apply-log /data/bak/2013-11-12_16-49-05

    还原数据库:

    mkdir /var/lib/mysql (2.1.5的版本不需要新建mysql目录,2.1.8开始要自己新建一个目录,否则会报错)
    innobackupex --copy-back /data/bak/2013-11-12_16-49-05

    重新赋权:

    chown -R mysql:mysql /var/lib/mysql

    启动mysql

    /etc/init.d/mysql start

    Xtrabackup中的xtrabackup_binlog_info中记录了bin_logpos的点,通过该值可实现主从。(用这种方式,对中小系统重做主从会非常方便,备份速度快,还原速度也快)

    1.部署过程遇到的错误记录

    patch: command not found
    yum -y install patch
    
    xbcrypt_common.c:24:20: error: gcrypt.h: Nosuch file or directory
    yum -y install libgcrypt libgcrypt-devel
  • 相关阅读:
    【HBase】+Java+批量增查数据
    【jmeter】+基础功能介绍
    【jmeter】+安装配置
    【IDEA】+激活
    【IDEA】+把A工程导入B工程中,A使用B中的类
    【Java】+字符中的字符替换
    【IDEA】+ 代码折叠与展开
    【Java】+获取当前方法名 or 类名
    【IDEA】+把自己做的小工具jar包上传到官方Maven仓库
    【IDEA】+将一个项目打成一个jar包,并在另一个项目中用这个jar包中的类(测试模块里的类没法用)
  • 原文地址:https://www.cnblogs.com/longshiyVip/p/5128099.html
Copyright © 2011-2022 走看看