percona innobackupex 使用

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

直接使用官方的二进制安装。

https://www.percona.com/doc/percona-xtradb-cluster/5.6/installation.html#installation


innobackupex:

这个是其实是下面三个工具的一个perl脚本封装,可以备份MyISAM, InnoDB, XtraDB表。


xtrabackup:

一个由C编译而来的二进制文件,只能备份InnoDB和XtraDB数据。


xbcrypt:

用来加密或解密备份的数据。


xbstream:

用来解压或压缩xbstream格式的压缩文件。




数据库备份的准备工作:

新建一个最小权限的用户进行备份。

mysql语法:

mysql> CREATE USER 'larry'@'localhost' IDENTIFIED BY 'QAZWSX123';

mysql> REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'larry'@'localhost';

mysql> GRANT RELOAD,LOCK TABLES, REPLICATION CLIENT ON *.* TO 'larry'@'localhost';

mysql> FLUSH PRIVILEGES;


创建备份的数据目录

root@hostname# mkdir /databackups



使用innobackupex进行一次完整的备份

root@hostname# innobackupex --user=databaseusername --password=QAZWSX123 /databackups

...

...

...


140401 12:02:20  innobackupex: completed OK!

备份过程的说明:

1.它将备份数据文件存放到了我新建的备份数据存放目录,并且它保存至了一个以时间命令的目录中。

2.binlogs文件的时间点,备份时它正处于那个二进制日志文件的哪个点上

3.完成备份立即断开与databases server的连接

4.通知备份完成


备份目录中文件的说明

(1)xtrabackup_checkpoints —— 备份类型(如完全或增量)、备份状态(如是否已经为prepared状态)和LSN(日志序列号)范围信息;TARE


在使用innobackupex进行备份时,还可以使用--no-timestamp选项来阻止命令自动创建一个以时间命名的目录;如此一来,innobackupex命令将会创建一个BACKUP-DIR目录来存储备份数据。


一般情况下,在备份完成后,数据尚且不能用于恢复操作,因为备份的数据中可能会包含尚未提交的事务或已经提交但尚未同步至数据文件中的事务。因此,此时数据文件仍处理不一致状态。“准备”的主要作用正是通过回滚未提交的事务及同步已经提交的事务至数据文件也使得数据文件处于一致性状态。


innobakupex命令的--apply-log选项可用于实现上述功能。如下面的命令:

root@hostname# innobackupex --user=databaseusername --password=QAZWSX123 --apply-log /databackups/2014-04-01_12-41-31/

/databackups/2014-04-01_12-41-31/这个目录就是刚才使用完全备份自动生成的备份目录。

140401 12:47:58  innobackupex: completed OK!

出现这行,备份成功。


在实现“准备”的过程中,innobackupex通常还可以使用--use-memory选项来指定其可以使用的内存的大小,默认通常为100M。如果有足够的内存可用,可以多划分一些内存给prepare的过程,以提高其完成速度。

切记,不能再刚整理(准备)完成就用来恢复,什么时候需要恢复就什么时候整理!




从一个完全备份中恢复数据

恢复不能启动mysql

innobackupex命令的--copy-back选项用于执行恢复操作,其通过复制所有数据相关的文件至mysql服务器DATADIR目录中来执行恢复过程。innobackupex通过backup-my.cnf来获取DATADIR目录的相关信息。

[root@Master ~]# innobackupex --copy-back --user=larry --password=QAZWSX123 /backups/2014-04-01_12-41-31/

......

......

......

140401 12:56:00  innobackupex: completed OK!


出现上面这行则执行成功。



然后在mysql数据目录更改其文件及目录的所有者和属组。

root@hostname# chown -R mysql:mysql /var/lib/mysql


最后启动mysql。

service mysql start


验证数据备份恢复的完整性。

查看数据库及数据表。




建议:在完成备份的恢复过程后,我们应当立即做一次完整备份。


[root@Master data]# innobackupex --user=databaseusername --password=QAZWSX123 /databackups







数据库的增量备份:

第一次的增量备份:

root@hostname# innobackupex --incremental /backups/ --incremental-basedir=/backups/2014-04-01_13-06-56/


说明:

--incremental 明确说明我们的操作是增量备份

--incremental-basedir= 明确说明我们是相对于谁做增量(上次完全/上次增量),如果每一次都相对于上次的完全备份做增量备份,那就是差异备份!

需要注意的是,增量备份仅能应用于InnoDB或XtraDB表,对于MyISAM表而言,执行增量备份时其实进行的是完全备份。


















本文转自ting2junshui51CTO博客,原文链接: http://blog.51cto.com/ting2junshui/1729696,如需转载请自行联系原作者

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
11月前
|
存储 缓存 关系型数据库
Percona XtraBackup 2.4的使用
Xtrabackup是由percona开源的免费数据库热备份软件
149 0
|
存储 关系型数据库 MySQL
xtrabackup
还在等什么,快来一起讨论关注吧,公众号【八点半技术站】,欢迎加入社群
|
存储 JSON 关系型数据库
MySQL8.0 Xtrabackup备份问题
MySQL 8.0已经成为最受瞩目的版本,增加了许多新特性,如Clone Plugin、Hash Join等等。由于新的MySQL重做日志和数据字典格式,所以推出新的XtraBackup 8.0版本,本文基于MySQL产品在自动搭建备库时遇到问题做出解析。
795 0
MySQL8.0 Xtrabackup备份问题
|
Ubuntu 关系型数据库 MySQL
Percona XtraBackup 安装介绍篇
XtraBackup介绍   XtraBackup是Percona公司的开源项目,用以实现类似Innodb官方的热备份工具InnoDB Hot Backup的功能,它支持在线热备份(备份时不影响数据读写)。
2918 0
|
关系型数据库 MySQL Linux
Percona XtraBackup 8.0, 安装与测试
Percona XtraBackup 8.0, 安装与测试Percona XtraBackup 8.0 是Percona XtraBackup新推出了一个针对MySQL8.0的版本,主要是MySQL8.0在Redo 和 数据库字典方面有了新的改进。
4066 0
|
存储 关系型数据库 MySQL
|
关系型数据库 MySQL 数据库
|
存储 监控 关系型数据库
|
MySQL 关系型数据库