Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)
Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)
[隐藏]
- Xtrabackup简介
- Xtrabackup安装
- Xtrabackup工具介绍
- innobackupex使用方法
- 完整备份及还原
- 增量备份及还原
Xtrabackup简介
Percona XtraBackup是开源免费的MySQL数据库热备份软件,它能对InnoDB和XtraDB存储引擎的数据库非阻塞地备份(对于MyISAM的备份同样需要加表锁)。XtraBackup支持所有的Percona Server、MySQL、MariaDB和Drizzle。
XtraBackup优势 :
1、无需停止数据库进行InnoDB热备
2、增量备份MySQL
3、流压缩到传输到其它服务器
4、能比较容易地创建主从同步
5、备份MySQL时不会增大服务器负载
Xtrabackup安装
这里只介绍Ubuntu-12.04下的安装方法,其它系统的安装方法请参考http://www.percona.com/doc/percona-xtrabackup/2.1/installation.html
- apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
在/etc/apt/sources.list加入:
- deb http://repo.percona.com/apt precise main
- deb-src http://repo.percona.com/apt precise main
执行update及安装操作
- apt-get update
- apt-get install percona-xtrabackup
注:precise是Ubuntu-12.04的版本代号,如果是其它系统版本,需要更换。
Xtrabackup工具介绍
安装XtraBackup后,其实会有几个工具:
innobackupex:
这个是其实是下面三个工具的一个perl脚本封装,可以备份MyISAM, InnoDB, XtraDB表。
xtrabackup:
一个由C编译而来的二进制文件,只能备份InnoDB和XtraDB数据。
xbcrypt:
用来加密或解密备份的数据。
xbstream:
用来解压或压缩xbstream格式的压缩文件。
建议使用perl封装的innobackupex来作数据库备份,因为比较容易使用。所以下面只介绍innobackupex的使用。其它的使用参考:http://www.percona.com/doc/percona-xtrabackup/2.1/manual.html
innobackupex使用方法
完整的选项使用请执行innobackupex --help,这里只介绍使用常用的选项进行完整备份及增量备份和还原。
完整备份及还原
假如我们要备份centos和mysql数据库。
备份:
- innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --include="centos.*|mysql.*" /data/mysql_backup
这样就会在/data/mysql_backup生成一个带时间的目录,如果不需要带时间,可以使用选项--no-timestamp。
如果想备份成压缩文件,可以使用如下语句:
- innobackupex --user=root --password=root --defaults-file=/etc/mysql/my.cnf --include="centos.*|mysql.*" --no-timestamp --stream=tar ./ | gzip - > www.centos.bz.tar.gz
还原:
假如完整备份的路径为/data/mysql_backup/full_backup,如果完整备份是压缩文件,需要先解压再还原。
- innobackupex --apply-log /data/mysql_backup/centos_full_backup
- innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf /data/mysql_backup/centos_full_backup
- chown -R mysql:mysql /var/lib/mysql
增量备份及还原
增量备份是建立在完整备份的基础上的,所以首先确保已经完整备份了一次。
完整备份:
- innobackupex --user=root --password=root --include="centos.*" --no-timestamp /data/mysql_backup/centos_full_backup
现在完整备份的目录为/data/mysql_backup/centos_full_backup。
增量备份:
第一次增量备份:
- innobackupex --incremental /data/mysql_backup/inc/20130906 --no-timestamp --incremental-basedir=/data/mysql_backup/centos_full_backup --user=root --password=root --defaults-file=/etc/mysql/my.cnf
第二次增量备份:
- innobackupex --incremental /data/mysql_backup/inc/20130907 --no-timestamp --incremental-basedir=/data/mysql_backup/inc/20130906 --user=root --password=root --defaults-file=/etc/mysql/my.cnf
选项--incremental是指定作增量备份 --incremental-basedir选项是指定上一次增量备份的目录(如果是第一次作增量备份,则为完整备份的目录)。
还原:
增量备份的还原操作跟完整的还原有点不一样,首先必须使用--apply-log --redo-only对完整备份的目录及所有增量备份目录进行操作,然后就可以像还原完整备份时的操作了。
对每个备份目录作apply-log redo-only操作(包括完整备份)
- innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup --user=root --password=root
- innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup --incremental-dir=/data/mysql_backup/inc/20130906 --user=root --password=root
- innobackupex --apply-log --redo-only /data/mysql_backup/centos_full_backup --incremental-dir=/data/mysql_backup/inc/20130907 --user=root --password=root
下面就跟还原完整备份时一样了:
- innobackupex-1.5.1 --apply-log /data/mysql_backup/centos_full_backup --use-memory=1G --user=root --password=root
- innobackupex --copy-back --defaults-file=/etc/mysql/my.cnf /data/mysql_backup/centos_full_backup
转载请标明文章来源:《https://www.centos.bz/2013/09/percona-xtrabackup-mysql-backup/》
转载于:https://www.cnblogs.com/L-H-R-X-hehe/p/3955035.html
Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)相关推荐
- MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份]
MariaDB之基于Percona Xtrabackup备份大数据库[完整备份与增量备份] 1.Xtrabackup的安装 percona-xtrabackup-2.2.3-4982.el6.x86_ ...
- Percona XtraBackup 关于 MySQL备份还原的详细测试
Percona XtraBackup 关于 MySQL备份还原的详细测试 一. Percona XtraBackup 的优点. (1)无需停止数据库进行InnoDB热备: (2)增量备份MySQL: ...
- 如何在Ubuntu 14.04上使用Percona XtraBackup创建MySQL数据库的热备份
如何在Ubuntu 14.04上使用Percona XtraBackup创建MySQL数据库的热备份 介绍 使用活动数据库系统时遇到的一个非常常见的挑战是执行热备份,即在不停止数据库服务或将其设置为只 ...
- Linux系统快照一键备份恢复、不同机器恢复、增量备份恢复
Linux系统快照一键备份恢复.不同机器恢复.增量备份恢复 前言 由于前段时间在做一个自动化部署开发环境的项目需要重复安装多种服务以及中间件,但是生产环境的服务器不像自己的虚拟机可以使用快照,如果直接 ...
- mysql大数据量的全量备份_mysql备份神器——Xtrabackup全量备份还原
概述 Xtrabackup是一种物理备份工具,通过协议连接到mysql服务端,然后读取并复制innodb底 层的"数据块",完成所谓的"物理备份". 支持对in ...
- mysql rds备份_云数据库RDS如何进行数据备份
前言:目前睿江云已经推出的RDS云数据库,用户无需进行额外的传统命令行配置,直接选购即可使用. 常见的RDS备份工具 目前睿江云也支持数据的备份,您可以选择数据备份的策略,进行备份. 那么常见的备份工 ...
- shell备份mysql思路_写一个shell脚本备份mysql数据库的步骤
写一个shell脚本备份mysql数据库的步骤 发布时间:2020-05-25 15:47:41 来源:51CTO 阅读:221 作者:三月 下文我给大家简单讲讲关于写一个shell脚本备份mysql ...
- java备份mysql的单个表_MySQL 使用java备份某张表的操作
核心是mysqldump和Runtime 操作其实并不是很困难,创建一个进行备份操作的类,接收到备份调用后,标记该表正在备份,然后创建一个子线程进行备份操作.所需的配置信息是从配置文件读取的,也要注意 ...
- 【备份恢复】noarchive模式下使用增量备份恢复数据库
使用增量备份恢复处于NOARCHIVELOG 模式的数据库 增量备份前提是有0即全库备份,另外默认的增量备份是指增量差异备份(backup as backupset incremental level ...
最新文章
- python的翻译-Python编写简单的谷歌翻译软件
- 微信jssdk ajax 获取签名,【Golang版】微信access_token、jsapi_ticket、signature签名算法生成示例,开箱即用...
- 每天学一点flash(16) as3.0 与asp通信(3) 错误探究
- JavaScript中的数组创建
- 小红书成立六周年内部信:月活用户量已经突破8500万
- RN PickerView组件
- dell4600服务器不能启动
- java scanner构造函数_Java使用Scanner作为构造函数的参数
- android 焦点动画,在一个视图/imageview上获得焦点时,实现android缩放动画?_animation_开发99编程知识库...
- MINITAB(二)
- 学以致用——使用莱斯利矩阵模型预测蠵龟种群数量的演变(Demographics of the Loggerhead Sea Turtle using Leslie population model)
- 新手小白零基础,该怎样学习编程呢?
- PCIe EA (Enhanced Allocation) 介绍
- python---酒鬼漫步
- matlab使用switch结构判断学生成绩的等级
- 211毕业生3天被辞退:offer不等于工作稳了!
- JAVA程序开发参考手册
- JAVA毕设项目九宫格日志网站(java+VUE+Mybatis+Maven+Mysql)
- 怎么去除latex \thanks 感谢脚注的*号
- 洛谷 P2216 [HAOI2007] 理想的正方形
热门文章
- ajax_异步交互-get/post方式
- RealARM 210开发板 u-boot传递mac地址到内核的方法
- 第7章:Kubernetes存储
- 设置计算机关机静音,Shortcuts 捷径控制 Windows 电脑:静音开关、音量调节、待机、关机...
- dokuwiki mysql_dokuwiki安装和使用总结 (windows安装版本)
- 停车场事故频频,AI 达人将摄像头变身安全卫士
- 2021年中国云原生用户调查问卷
- Knative 多容器支持介绍
- 实时计算pv/uv Demo演示
- 腾讯天美六位TA:技术美术这份职业会长期存在吗?