Mysql第三方备份工具Xtrabackup使用说明

1、Xtrabackup安装

1)yum安装方式:

yuminstallhttp://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm

yumlist | grep percona

yuminstall xtrabackup

2)apt安装方式:

apt-keyadv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A

debhttp://repo.percona.com/apt VERSION main

deb-srchttp://repo.percona.com/apt VERSION main

apt-getupdate

apt-getinstall percona-xtrabackup

2、全备:

innobackupex--defaults-file=/etc/my.cnf --host=127.0.0.1 -port=3306 --user=root--password=123456 --slave-info --safe-slave-backup --no-timestamp  /data/mysqlbak/2015.sql1717

参数说明:

--slave-info会将Master的binary log的文件名和偏移位置记录打印出来,同时也保存到xtrabackup_slave_info文件中.

--safe-slave-backup会暂停Slave的SQL线程,等待到没有打开的临时表的时候开始备份.备份结束后SQL线程会自动启动,这样就可以确保一致性的复制状态.

--no-timestamp 是让innobackupex别自动生成一个时间戳的目录名/home/mysqlbak/2013***,而是存放在/home/mysqlbak/base

3、全备恢复:

rm-rf /usr/local/mysql/data/*    ;#测试环境删除数据目录

innobackupex  --apply-log /data/mysqlbak/2015.sql1717  ;#准备

innobackupex  --copy-back /data/mysqlbak/2015.sql1717  ;#恢复

chown-R mysql.mysql /usr/local/mysql/data  ;#修改目录权限

/etc/init.d/mysqlstart       #启动mysql

4、部分备份:

innobackupex部分备份,有以下三个参数可选择:

1.--databases="database1[.table1] ..." 比如: --databases="employees sales.orders"

2.--tables-file=tables.txt, tables.txt    文件每一行有一个database.table

3.--include=regexp,     支持正则,比如: --include=‘^database(1|2)\.reports‘

在准备”部分备份”和拷贝恢复”部分备份”到一个空的datadir之后,请确保datadir中有”mysql”数据库,否则MySQL无法启动.
如果没有,则需要先创建系统的数据库再启动。

5、增量备份:

进行第一次增量备份,需要在有一次完整备份的基础上进行:

innobackupex  --defaults-file=/etc/my.cnf --host=127.0.0.1-port=3306 --user=root --password=123456 --no-timestamp  --incremental/data/mysqlbak/2015.sql1717-zengliang --incremental-basedir=/data/mysqlbak/2015.sql1717

333795

参数说明:

–incremental        指定增量备份存放的目标目录

–incremental-basedir= 指定完整备份的目录

#也可以每次都基于全备做增量备份,而不是基于上一次的增备。

6、增量恢复:

增量备份的还原操作跟完整的还原有点不一样,首先必须使用–apply-log –redo-only对完整备份的目录及所有增量备份目录进行操作,然后就可以像还原完整备份时的操作了。

1)准备全备的日志

innobackupex  --apply-log --redo-only  --use-memory=4G  /data/mysqlbak/2015.sql1717

2)把增量备份合并到全量备份中

innobackupex--defaults-file=/etc/mysql/my.cnf --host=127.0.0.1  -port=3306 --user=root --password=123456  --slave-info --safe-slave-backup --apply-log--use-memory=4G /data/mysqlbak/2015.sql1717 --incremental-dir=/data/mysqlbak/2015.sql1717-zengliang

3)把这个全备目录拷贝到数据mysql数据目录

innobackupex  --copy-back /data/mysqlbak/2015.sql1717

7、附xtrabackup参数说明:

--print-defaults        显示默认选项。Xtrabackup默认情况会去读my.cnf文件,读取顺序是/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf

--no-defaults          忽略任何my.cnf文件选项

--defaults-file=#        读取指定的my.cnf文件

--defaults-extra-file=#   再读取另外一个文件

--target-dir=name      目的目录,默认目录在./xtrabackup_backupfiles/,相对于datadir目录

--backup              备份

--stats                计算datadir目录统计信息

--prepare 从backup    恢复

--export                   在恢复时,创建文件导入到另一个数据库

--apply-log-only       在恢复时,停止恢复进程不进行LSN只使用log

--print-param              打印出参数

--use-memory=#buffer_pool_size值

--suspend-at-end       在备份时,创建xtrabackup_suspended文件,直到备份完成后删掉

--throttle=#               限制IO总数

--log-stream               记录标准输出信息xtrabackup_logfile

--extra-lsndir=name    仅适用于backup,保存另一份xtrabackup_checkpoints文件

--incremental-lsn=name 仅适用于backup,增量备份

--incremental-basedir=name 仅适用于backup,增量备份目录

--incremental-dir=name 仅适用于prepare,恢复指定目录下的.delta文件和日志文件

--tables=name          过滤某些表

--tables_file=name         过滤database.table列表文件

--create-ib-logfile

-h,--datadir=name datadir目录

-t,--tmpdir=name tmpdir目录

--parallel=#               默认为1.传输数据文件的并行线程数。没有任何流模式的影响

--innodb_*             有关innodb参数

时间: 2024-10-20 09:46:09

Mysql第三方备份工具Xtrabackup使用说明的相关文章

mysql物理备份工具Xtrabackup安装配置

mysql物理备份工具Xtrabackup安装配置 1????Xtrabackup工具介绍 Xtrabackup是一个对InnoDB做物理数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表. (2)innobackupex是用来备份非Inn

生产环境mysql快速备份工具XtraBackup使用案例

Mysql的备份有很多种方式,最常用的应该是mysqldump了,将数据库导出一个 sql文件,还原的时候source db.sql 就欢快的执行了.小伙伴愉快的布上一个shell脚本,配上cron,幸福的看着每天备份文件的生成,倍感安全.假如一个mysql超过了10G呢? 请相信我,导出的时间需要好几个小时,那还原呢,时间会更长.我曾经用sql还原一个6G的数据库,用了3个多小时. mysqldump这种逻辑备份的缺点就不多说了,说说xtrabackup,又是PERCONA,就冲这个名号,值得

MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install)

MySQL Study之--MySQL innodb引擎备份工具XtraBackup之一(Install) Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品. Xtrabackup有两个主要的工具:xtrabackup.innobackupex (1)xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 (2)innobackupex-1.5

MySQL备份工具XtraBackup的使用

xtrabackup简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具.特点: (1)备份过程快速.可靠: (2)备份过程不会打断正在执行的事务: (3)能够基于压缩等功能节约磁盘空间和流量: (4)自动实现备份检验: (5)还原速度快: 官方下载地址:地址,你可以通过此链接下载最新版. #wget https://www.percona.com/downloads/XtraBac

数据库 之 备份工具Xtrabackup进行MySQL备份

1  概述 1.1  简介 Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. PXB(Percona XtraBackup)是物理备份,是基于复制文件备份,备份时可以远程操作,基于mysql协议远程连接,需要备份的主机不用安装PXB,但是,执行恢复数据操作时mysql服务不能启动,所以恢复时只能本地恢复,而且在本地的服务器上要安装PXB PXB在恢复增量数据时,先合并第一次增量到全量

mysql5.7 innodb数据库备份工具Xtrabackup的安装

mysql5.7 innodb数据库备份工具Xtrabackup的安装     wget mhttps://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.7/binary/redhat/6/x86_64/percona-xtrabackup-24-2.4.7-1.el6.x86_64.rpm Mysql5.7需要安装XtraBackup 2.4.1以上版本 官网地址 https://www.percona.com/down

数据库备份工具Xtrabackup

Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,是一款开源能够对innodb和xtradb数据库进行热备的工具. 1.安装 yum install  percona-xtrabackup -y 2.创建数据库 create database test: use test; create table bak(id int ,name char(20));  创建表 insert into bak values(1,'dog'); 3.建立一个权限较小的用户管理数据

MySQL的备份还原(xtrabackup)

MySQL的备份还原(xtrabackup) xtrabackup简介 xtrabackup是percona提供的MySQL数据库的备份工具,是唯一开源的能对innodb和xtradb数据库进行热备的工具 xtrabackup的特点 1.备份还原过程快.可靠 2.备份过程不会打断正在执行的事务 3.能够基于压缩等功能介于磁盘空间和流量 4.自动实现备份检验 5.开源免费 xtrabackup备份过程 xtrabackup安装 xtrabackup在centos的EPEL源中,可以在配置完EPEL

mysql的备份: Xtrabackup的使用方法

Xtrabackup: Xtrabackup的优点:1.快速 ,支持并行备份.--parallel=8 2.在线备份备份,不阻塞读写(INNODB),对MYISAM添加全局锁3.支持在线搭建主从复制 Xtrabackup的基本实用方法: -- 全备innobackupex --defaults-file=/etc/my.cnf --user=root  --socket=/var/lib/mysql/mysql.sock --parallel=8 /home/backup/ /home/back