当前位置:首页 > MySQL

Xtrabackup安装及使用

canca11年前 (2015-06-02)MySQL493

简介:
  Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。
    Xtrabackup有两个主要的工具:xtrabackup、innobackupex
  (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表
  (2)innobackupex-1.5.1则封装了xtrabackup,是一个脚本封装,所以能同时备份处理innodb和myisam,但在处理myisam时需要加一个读锁
  (3)使用帮助:http://www.percona.com/docs/wiki/percona-xtrabackup:start

环境:CentOS 5.4,xtrabackup-1.6.tar.gz

1、首先从http://www.percona.com/下载
       wget http://www.percona.com/downloads/XtraBackup/XtraBackup-1.6/Linux/binary/i686/xtrabackup-1.6.tar.gz    

2、检查服务器是否安装了Mysql版本,如果没有就要安装好mysql
   my.cnf中必须有datadir=/var/lib/mysql

3、开始安装xtrabackup
     1)解压     
         cd /qeedoodb/setup
         tar zxvf xtrabackup-1.6.tar.gz 
     2)拷贝innobackupex、xtrabackup、xtrabackup_51 工具到/usr/bin
        cp /qeedoodb/setup/xtrabackup-1.6/bin/innobackupex /usr/bin/innobackupex
        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup  /usr/bin/xtrabackup
        cp /qeedoodb/setup/xtrabackup-1.6/bin/xtrabackup_51  /usr/bin/xtrabackup_51
     
  
    
4、备份并打包压缩
      innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/zztx.log | gzip     1>/data/back_data/zztx.tar.gz
      
      说明:
      --database=zztx 单独对zztx数据库做备份 ,若是不添加此参数那就那就是对全库做备份
      2>/data/back_data/zztx.log  输出信息写入日志中
      1>/data/back_data/zztx.tar.gz 打包压缩存储到该文件中
      
      此处可以写个脚本做备份(backup.sh)
      #!/bin/sh
      echo "开始备份..."`date`
      log=zztx01_`date +%y%m%d%H%M`.log
      str=zztx01_`date +%y%m%d%H%M`.tar.gz
      innobackupex --user=root --password=123456 --defaults-file=/etc/my.cnf --database=zztx --stream=tar /data/back_data/ 2>/data/back_data/$log | gzip 1>/data/back_data/$str
      echo "备份完毕..."`date`
      
5、恢复数据
      1) 先停止数据库:service mysqld stop
      2) 解压 tar -izxvf zztx.tar.gz -C /data/back_data/db/   (没有db ,需要mkdir /data/back_data/db/)  
      3) 恢复 innobackupex --user=root --password --defaults-file=/etc/my.cnf  --apply-log /data/back_data/db/  (--apply-log选项的命令是准备在一个备份上启动mysql服务)
              innobackupex --user=root --password --defaults-file=/etc/my.cnf  --copy-back /data/back_data/db/  (--copy-back 选项的命令从备份目录拷贝数据,索引,日志到my.cnf文   件里规定的初始位置。)
      4) 赋权 chown -R mysql.mysql /var/lib/mysql/*
      5) 重启数据库 service mysqld restart
      6) 删除垃圾 cd /var/lib/mysql/  && rm xtrabackup*
      进入数据库查看,一切OK~

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/94.html

标签: MySQL
分享给朋友:

“Xtrabackup安装及使用” 的相关文章

mysql 外鍵約束

1. 什么是参照完整性?——————–参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:文章分类表 -  categoriescategory_id ...…

MySql导入SQL文件

MySql导入SQL文件: mysql -u root -p <c:\sampledb.sql…

MySQl字段类型

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,…

解决PHP存取MySQL 4.1乱码问题

从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。我读了一下新的M...…

MySQL常用操作

1、字符串拼接:update products a,categorys b set a.categoryNumbers = concat(b.parent,",",a.categoryId,",")where b.id = a.categoryId…

sql语句查询经纬度范围

sql语句查询经纬度范围

指定一个经纬度,给定一个范围值(单位:千米),查出在经纬度周围这个范围内的数据。 经度:113.914619 纬度:22.50128 范围:2km longitude为数据表经度字段 latitude为数据表纬度字段 SQL在mysql下测…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。