xtrabackup简析

简介:

xtrabackup:
    xtrabackup是由percona公司开发的。对innoDB引擎支持非常好。在备份的时候不用锁表。如果是MYiSAM引擎的,则需要锁表。
        xtrabackup 是复制 ib_logfile0(ib_logfile1)事务日志来实行复制的。此外,还提供了perpare 功能。在恢复的时候还可以和数据库数据比对。如果有更新的则更新到备份中。避免了数据的丢失。同时还提供了压缩机制减少存储压力。

 官网下载rpm包地址:https://www.percona.com/downloads/XtraBackup  也 可以yum安装

    yum方式安装:(以下是官网提供的制作yum源的方法)
    构建yum仓库
        #yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
        (此时:/etc/yum.repos.d/目录下多个仓库  percona-release.repo)
        # yum  list | grep percona (查看软件包)
    安装   #yum install percona-xtrabackup-20.x86_64 -y  (这里选择 20版本的)
    备份:
        innobackupex是perl脚本对xtrabackup的封装,和功能扩展。xtrabackup需要连接到数据库和datadir操作权限。
        命令:# innobackupex  --user=root --defaults-file=.../my.cnf  /mnt
            #user 是数据库的用户(非系统的root) 有密码 的还可以加参数 --password=
            # --defaults-file 如果不设置会自动设置为 /etc/my.cnf(如果多实例需要注意)
             --database= 单独对某个数据库做备份 ,若是不添加此参数那就那就是对全库做备份
            #/mnt是将备份存放的目录
    恢复:(可以把 数据文件夹下的文件清空 ,但是保留数据文件夹)
            # innobackupex --copy-back /mnt/2017-02-13_17-05-08/
            这里如果my.cnf文件位置不在/etc下。需要 加参数 --default-file=.../my.cnf
        如果在备份的同时数据库依旧在写入操作。则需要 prepare 操作。(回滚日志)
            先是:prepare 操作,分析事物日志。然后在恢复。
            --user-memory:指定prepare阶段可使用的内存,内存多则速度快,默认为10MB
            # innobackupex --apply-log /mnt/2017-02-13_17-05-08/
            # innobackupex --copy-back /mnt/2017-02-13_17_05_08/
    修改data目录的属组和属主:# chown -R mysql:mysql ../data
        不然启动的时候会提示找不到 。pid 文件。
        启动服务即可。
    压缩备份:(流操作)
            #innobackupex --user=root --stream=tar --defaults-file=/etc/my.cnf /mnt|gzip ->/mnt/mysql.tar.gz
            这里的defaults-file 可以省略。如果配置文件在别处需要。指定。
            可用参数:
        --parallel=4:  加速备份,这个选项会指定xtrabackup备份文件的线程数。

        特别注意的是:这里解压文件  需要参数 i
        tar zixf ......tar.gz  不然解压会出错。










本文转自 swallow_zys  51CTO博客,原文链接:http://blog.51cto.com/12042068/1897409,如需转载请自行联系原作者
目录
相关文章
|
5月前
|
SQL 监控 关系型数据库
解密MySQL二进制日志:深度探究mysqlbinlog工具
解密MySQL二进制日志:深度探究mysqlbinlog工具
869 3
|
6月前
|
存储 关系型数据库 MySQL
Percona XtraBackup有哪些优点?
【5月更文挑战第13天】Percona XtraBackup有哪些优点?
72 1
|
6月前
|
存储 关系型数据库 MySQL
XtraBackup的工作原理是什么?
【5月更文挑战第13天】XtraBackup的工作原理是什么?
399 0
|
6月前
|
关系型数据库 MySQL 数据库
什么是xtrabackup工具?
【5月更文挑战第13天】什么是xtrabackup工具?
90 0
|
6月前
|
关系型数据库 MySQL Linux
用XtraBackup 增量备份并且恢复-----图文详解
用XtraBackup 增量备份并且恢复-----图文详解
144 0
|
6月前
|
存储 缓存 关系型数据库
Mysql专栏 - redo log日志细节
Mysql专栏 - redo log日志细节
104 0
|
6月前
|
存储 关系型数据库 MySQL
认真学习MySQL中的MVCC机制
认真学习MySQL中的MVCC机制
83 0
|
缓存 关系型数据库 MySQL
MySQL redo log 恢复原理 | StoneDB 技术分享会 #5
redo log 类型 innodb 的 redo log 是带有逻辑意义的物理日志:物理指的是 redo log 是针对某一个页来说的,每条 redo log 都会有 Type、Space ID、Page Number 等信息,如下图所示;逻辑指的是一条 redo log 中可能描述的不是在页面上的某个偏移量的位置上写入若干个字节的数据,而是描述在页面上插入或者删除一条什么样的记录。 redo log 的通用结构为
132 0
|
存储 关系型数据库 MySQL
Redo日志 (5)—mysql进阶(六十三)
Redo日志 (5)—mysql进阶(六十三)
|
存储 SQL 缓存
重用的undo日志 (3)—mysql进阶(六十六)
重用的undo日志 (3)—mysql进阶(六十六)