加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)

发布时间:2020-12-12 02:40:28 所属栏目:MySql教程 来源:网络整理
导读:《Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)》要点: 本文介绍了Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具),希望对您有用。如果有疑问,可以联系我们。 MYSQL学习 Xtrabackup ------MySQL DBA的必备对象 MYSQL进修 注
Annual Price $1,500/server From $15,000 From $30,000 Number of Servers Covered Per-Server Unlimited Unlimited Number of Support Incidents Unlimited Unlimited Unlimited Response Time?SLA 60 Minutes 30 Minutes 30 Minutes Named Support Contact Persons 5 10 20 Email,Web,& Chat Support Phone Support Login Support 24×7 Support Fixes For Verified Bugs ? Hot Bug Fixes ? ? Onsite System Audit ? Option Covers Old Server Versions ? ? Covers Non-Standard Platforms ? ? Option Covers Custom Code ? ? Option
?

MYSQL进修参考:http://www.percona.com/mysql-support/

MYSQL进修?

MYSQL学习先看看如何安装Xtrabackup,最简单的安装方式是使用RPM包,不外想使用源代码方式安装的话,其安装方式有点古怪,因为它采用的在MySQL源代码上打补丁构建的方式安装的.

MYSQL进修2、安装:

MYSQL进修wget http://www.percona.com/downloads/XtraBackup/XtraBackup-1.4/Linux/binary/i686/

MYSQL进修tar zxf xtrabackup-1.4.tar.gz

MYSQL进修cd xtrabackup-1.4

MYSQL进修./configure

MYSQL进修make

MYSQL学习进行到这里时,千万别make install,那样就会接着安装MySQL了,正确办法是:

MYSQL进修cd innobase/xtrabackup/

MYSQL进修make

MYSQL进修make install

MYSQL进修安装参照:http://www.percona.com/docs/wiki/percona-xtrabackup:installation:from-source

MYSQL学习3、如此一来,就会在/usr/bin目录里安装上两个有用的对象:xtrabackup、innobackupex

MYSQL学习1)xtrabackup 只能备份InnoDB和XtraDB两种数据表,支持在线热备份,可以在不加锁的情况下备份Innodb数据表,不外此工具不能操作Myisam引擎表

MYSQL学习2)innobackupex ?是一个脚本封装,封装了xtrabackup,能同时处理Innodb和Myisam,但在处理Myisam时必要加一个读锁.

MYSQL进修?

MYSQL学习按如上的介绍,由于操作Myisam时需要加读锁,这会堵塞线上服务的写操作,而Innodb没有这样的限制,所以数据库中Innodb表类型所占的比例越大,则越有利.实际应用中一般是直接使用innobackupex办法,它主要有三种操作方式,按手册中的介绍:

MYSQL进修Usage:

MYSQL进修innobackup [--sleep=MS] [--compress[=LEVEL]] [--include=REGEXP] [--user=NAME]

MYSQL进修?? ? ? ? ? [--password=WORD] [--port=PORT] [--socket=SOCKET] [--no-timestamp]

MYSQL进修?? ? ? ? ? [--ibbackup=IBBACKUP-BINARY] [--slave-info] [--stream=tar]

MYSQL进修?? ? ? ? ? [--defaults-file=MY.CNF]

MYSQL进修?? ? ? ? ? [--databases=LIST] [--remote-host=HOSTNAME] BACKUP-ROOT-DIR

MYSQL进修innobackup --apply-log [--use-memory=MB] [--uncompress] [--defaults-file=MY.CNF]

MYSQL进修?? ? ? ? ? [--ibbackup=IBBACKUP-BINARY] BACKUP-DIR

MYSQL进修innobackup --copy-back [--defaults-file=MY.CNF] BACKUP-DIR

MYSQL进修――――――――――――――――――――――――――――――――――

MYSQL学习第一个敕令行是热备份mysql数据库.

MYSQL学习带有--apply-log选项的敕令是准备在一个备份上启动mysql服务.

MYSQL学习带有--copy-back选项的命令从备份目录拷贝数据,索引,日志到my.cnf文件里规定的初始地位.

MYSQL进修Xtrabackup还可以用来moving InnoDB tables between servers,更多的内容可以参考官方文档及例子.

MYSQL进修参考链接:

MYSQL进修1.官方文档:http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup_manual

MYSQL进修2.Xtrabackup online backup for InnoDB/XTraDB(pdf):

MYSQL进修http://www.percona.com/ppc2009/PPC2009_xtrabackup.pdf

? ? 二、innobackupex 和 xtrabackup备份详解

MYSQL学习注:innobackupex会根据/et/my.cnf来确定MySQL的数据地位.

MYSQL学习1.通俗备份:

MYSQL进修innobackupex [--defaults-file=/etc/my.cnf] --user=root [--host=192.168.1.52] [--password=xxx] [--port=3306] ??/data/back_data/ ? ?2>/data/back_data/1.log

MYSQL学习备份的目录是/data/back_data/,这里的2>/data/back_data/1.log,是将备份进程中的输出信息重定向到1.log

MYSQL进修innobackupex-1.5.1 Cslave-info …..

MYSQL学习Cslave-info会记录复制主日志的 复制点,便于重新做复制用.(用在备份从机械用)

MYSQL进修备份后的文件:

MYSQL学习xtrabackup_binlog_info ― 存放binlog的信息.(binlog必要另外拷贝备份,如果必要binlog的话)

MYSQL学习xtrabackup_checkpoints ― 寄存备份的起始位置和结束位置.

MYSQL学习规复:

MYSQL学习首先停失落数据库,然后删除数据库目录下的所有数据库文件.

MYSQL进修cd /data/mysql_data

MYSQL学习rm -rf * # 删除数据目次里的所有文件

MYSQL学习innobackupex-1.5.1 --user=root --apply-log /data/back_data/2010-10-26_16-09-37 # 利用日志

MYSQL进修innobackupex-1.5.1 --user=root --copy-back /data/back_data/2010-10-26_16-09-37

MYSQL学习默认innobackupex-1.5.1会将二进制日志信息存放在文件xtrabackup_binlog_info中发(便利做Slave).

MYSQL进修cd /data

MYSQL进修chown -R mysql:mysql mysql_data/

MYSQL进修重启mysql服务

MYSQL进修2.打包(Tar)备份:

MYSQL进修innobackupex-1.5.1 --user=root [--password=xxx] --stream=tar /data/back_data/2/ 2>/data/back_data/2.log ??1>/data/back_data/2.tar

MYSQL进修还原:

MYSQL进修#cd /data/back_data/2/

MYSQL进修#tar ixvf 2.tar

MYSQL进修# ls

MYSQL进修2.tar backup-my.cnf ibdata1 ibdata2 mablevi mysql xtrabackup_binlog_info xtrabackup_checkpoints ?xtrabackup_logfile

MYSQL进修准备还原

MYSQL进修# innobackupex-1.5.1 --user=xxx [--password=xxx]--apply-log /data/back_data/

MYSQL进修……

MYSQL进修innobackupex: completed OK!

MYSQL学习删除数据目次里的所有文件

MYSQL进修rm -rf /data/mysql_data/*

MYSQL进修拷贝:

MYSQL进修# innobackupex-1.5.1 --user=xxx [--password=xxx] --copy-back ?/data/back_data/

MYSQL进修……

MYSQL进修innobackupex: completed OK!

MYSQL进修cd /data

MYSQL进修chown -R mysql:mysql mysql_data/

MYSQL进修重启mysql服务

MYSQL学习3. 紧缩(tar gzip)备份

MYSQL进修innobackupex-1.5.1 --user=root [--password=xxx] --stream=tar

MYSQL进修/data/back_data/2/ ?2>/data/back_data/2.log | gzip > /data/back_data/2.tar.gz

MYSQL学习这里使用了管道|将innobackupex-1.5.1作为gzip的标准输入.恢复,只必要使用tar -izxvf 解压对应的文件后,操作完全同普通备份.

MYSQL进修还原:

MYSQL学习使用tar Cizxvf 解压对应的文件后,操作完全同通俗备份.

MYSQL进修#cd /data/back_data/2/

MYSQL进修#tar ixvf 2.tar

MYSQL进修# ls

MYSQL进修backup-my.cnf ibdata1 ibdata2 mablevi mysql xtrabackup_binlog_info xtrabackup_checkpoints ?xtrabackup_logfile

MYSQL进修准备还原:

MYSQL进修# innobackupex-1.5.1 --user=xxx [--password=xxx] --apply-log /data/back_data/2/

MYSQL进修……

MYSQL进修innobackupex: completed OK!

MYSQL学习删除数据目次里的所有文件

MYSQL进修rm -rf /data/mysql_data/*

MYSQL进修# innobackupex-1.5.1 --user=xxx [--password=xxx] --copy-back ??/data/back_data/2/

MYSQL进修cd /data

MYSQL进修chown -R mysql:mysql mysql_data/

MYSQL进修重启mysql服务

MYSQL进修―――――――――――――――――――――――――――――――――――――――

MYSQL学习xtrabackup 备份和规复

MYSQL进修备份:

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data/

MYSQL学习规复:

MYSQL学习必要执行两次xtrabackup Cprepare

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/

MYSQL学习注意,xtrabackup只备份数据文件,并不备份数据表结构(.frm),所以使用xtrabackup恢复的时候,你必需有对应表结构文件(.frm).

MYSQL进修增量备份:

MYSQL进修1. 全量备份

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data/

MYSQL进修2. 增量备份

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data_inc/ --incremental-

MYSQL进修basedir=/data/back_data/

MYSQL学习在增量备份的目录下,数据文件都是以.delta结尾的.增量备份只备份上一次全量备份后被改动过的page,所以增量备份只暂用较少的空间.增量备份可以在增量备份的基础上增量.

MYSQL学习增量备份规复:

MYSQL学习我们必要分别对全量、增量备份各做一次prepare操作.

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --prepare --target-dir=/data/back_data/2010-10-26_16-09-37

MYSQL进修xtrabackup --prepare --target-dir=/data/back_data/2010-10-26_16-09-37--incremental-

MYSQL进修dir=/data/back_data_inc

MYSQL学习xtrabackup --prepare --target-dir=/data/back_data/ #这一步不是必需的

MYSQL学习这样,/data/back_data/下的数据文件就可以直接放到你的MySQL数据目录下,规复数据了.

MYSQL学习再次提醒,xtrabackup只备份InnoDB数据文件,表结构是不备份的,所以恢复的时候,你必需有对应表结构文件(.frm).

MYSQL进修rm -rf /data/mysql_data/ib*

MYSQL进修cp -i /data/back_data/2010-10-26_16-09-37/ib* /data/mysql_data/

MYSQL进修cd /data

MYSQL进修chown -R mysql:mysql mysql_data/

MYSQL学习2.innobackupex 与 xtrabackup 相联合

MYSQL学习起首,innobackupex全备份:

MYSQL学习innobackupex??--user=root /data/back_data/ 2>/data/back_data/1.log #会生成一个光阴文件夹,这里假如是2010-10-29_15-57-44

MYSQL进修然后,xtrabackup 做增量备份:

MYSQL进修xtrabackup --defaults-file=/etc/my.cnf --backup --target-dir=/data/back_data_inc/4 --incremental-basedir=/data/back_data/2010-10-29_15-57-44

MYSQL学习规复:

MYSQL学习首先停失落数据库,备份二进制日志(如果有的话),然后删除数据库目录下的所有数据库文件.

MYSQL进修cd /data/mysql_data

MYSQL学习rm -rf * # 删除数据目次里的所有文件

MYSQL学习规复全量备份:

MYSQL学习innobackupex??--user=root --apply-log /data/back_data/2010-10-29_15-57-44 # 利用日志

MYSQL进修innobackupex??--user=root --copy-back /data/back_data/2010-10-29_15-57-44 # 拷贝文件

MYSQL学习规复增量备份:

MYSQL进修xtrabackup --prepare --target-dir=/data/back_data/2010-10-29_15-57-44 --incremental-dir=/data/back_data_inc/5

MYSQL进修cd /data

MYSQL进修chown -R mysql:mysql mysql_data/

MYSQL进修重启mysql服务.

编程之家PHP培训学院每天发布《Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

《Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具)》要点:
本文介绍了Mysql应用利用Xtrabackup工具备份及恢复(MySQL DBA的必备工具),希望对您有用。如果有疑问,可以联系我们。

MYSQL学习Xtrabackup------MySQL DBA的必备对象

MYSQL进修注意:

MYSQL进修1)文档参照http://www.percona.com/docs/wiki/percona-xtrabackup:start

MYSQL进修2)mysql要使用5.1.50版本或以上.

MYSQL进修一、Xtrabackup简介及安装

MYSQL进修1、Xtrabackup ?是percona的一个开源项目,可以热备份innodb,XtraDB,和MyISAM(会锁表),可以看做是InnoDB?Hotbackup的免费替代品.

MYSQL进修?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?Percona Support for MySQL

Benefit Silver
(Per Server)
Gold
(Unlimited)
Platinum
(Unlimited)
    推荐文章
      热点阅读