xtrabackup 备份与恢复
书上摘抄 ---深入浅出mysql 448页
grant reload on *.* to 'backup'@'localhost' identified by '123456';
grant reload,lock tables on *.* to 'backup'@'localhost' identified by '123456';
grant reload,lock tables,replication client on *.* to 'backup'@'localhost' identified by '123456';
grant reload,lock tables,replication client,create tablespace on *.* to 'backup'@'localhost' identified by '123456';
grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhost' identified by '123456';
1.grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'%';
2.增量备份
在mysql中进行增量备份需要时,首先需要进行一次全量备份,之后的增量备份在上一次的增量备份
创建基础备份 base
innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf /data/backup/hotbackup/base --no-timestamp
创建增量备份
innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf --incremental /data/backup/hotbackup/incremental_one --incremental-basedir=/data/backup/hotbackup/base --no-timestamp --parallel=2
再次创建增量备份
innobackupex --user=backup --password='123456' --socket=/tmp/mysql.sock --defaults-file=/tmp/my.cnf --incremental /data/backup/hotbackup/incremental_two --incremental-basedir=/data/backup/hotbackup/increament_one --no-timestamp --parallel=2
3.增量备份的恢复
恢复基础备份(全备)
恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数)
--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据
innobackupex --apply-log --redo-only --use-memory=2g /data/backup/hotbackup/base
将增量备份increament_one应用到基础备份base:
innobackupex --apply-log --redo-only --use-memory=2g /data/backup/hotbackup/base --incremental-basedir=/data/backup/hotbackup/increament_one
将增量备份increament_two应用到基础备份base:
innobackupex --apply-log --use-memory=2g /data/backup/hotbackup/base --incremental-basedir=/data/backup/hotbackup/increament_two
将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据
innobackupex --apply-log --use-memory=2g /data/backup/hotbackup/base
将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库
mysqldmin -s /tm/mysql.sock shutdown
mv /home/mysql_test/mysqlhone/data /home/mysql_test/mysqlhome/_data_back
mkdir /home/mysql_test/mysqlhome/data
innodbackupex --defaults-file=/tmp/my.cnf --copy-back --rsync /data/backup/hotbackup/full
chown -R mysql.mysql /home/mysql_test/mysqlhome/data
启动数据库
*********************************************************************************************************************
操作实录:
问题:貌似只要是增量备份,一定要加--no-timestamp,否则会报错的
grant reload,lock tables,replication client,create tablespace,super on *.* to 'backup'@'localhost' identified by '123456';
***********************************************************
全量备份 + --no-timestamp
1.[root@test]#innobackupex --user=root /root/backup --no-timestamp (加上--no-timestamp参数的时候,backup目录不能存在,否则会报innobackupex: Error: Failed to create backup directory /root/backup: File exists at /usr/bin/innobackupex line 3808.)
增量备份1
innobackupex --user=root --incremental /root/backup/incremental_one --incremental-basedir=/root/backup --no-timestamp
增量备份2
innobackupex --user=root --incremental /root/backup/incremental_two --incremental-basedir=/root/backup/incremental_one --no-timestamp
************************************************************************************************************************
全量备份 不加--no-timestamp
2.[root@test]#innobackupex --user=root /root/backup (不加--no-timestamp的时候,backup目录一定要存在,要不然会报innobackupex: Error: Failed to create backup directory /root/backup/2014-05-22_02-07-14: No such file or directory at /usr/bin/innobackupex line 3808.)
[root@test]# ls -al /root/backup/
total 12
drwxr-xr-x. 3 root root 4096 May 22 02:07 .
dr-xr-x---. 6 root root 4096 May 22 02:07 ..
drwxr-xr-x. 6 root root 4096 May 22 02:07 2014-05-22_17-52-53
增量备份
增量备份1
innobackupex --user=root --incremental /root/backup/incremental_one --incremental-basedir=/root/backup/2014-05-22_17-52-53 --no-timestamp (这个参数一定要加,要不然无法备份成功)--parallel=2
增量备份2
innobackupex --user=root /root/backup/incremental_two --incremental-basedir=/root/backup/increament_one --no-timestamp --parallel=2
增量备份的恢复:
恢复基础备份(全备)
恢复增量备份到基础备份(开始恢复的增量备份要加--redo-only 参数,到最后一次增量备份去掉--redo-only参数
--redo-only的意思是之应用xtrabackup日志中已经提交的事务数据,不回滚还未提交的数据
innobackupex --apply-log --redo-only /root/backup/2014-05-22_17-52-53
将增量备份increament_one应用到基础备份base:
innobackupex --apply-log --redo-only /root/backup/2014-05-22_17-52-53 --incremental-basedir=/root/backup/increament_one
将增量备份increament_two应用到基础备份base:
innobackupex --apply-log /root/backup/2014-05-22_17-52-53 --incremental-basedir=/root/backup/increament_two
将所有合在一起的基础备份整体进行一次apply操作,回滚未提交的数据
innobackupex --apply-log /root/backup/2014-05-22_17-52-53
将恢复完的备份复制到数据文件目录中,赋权,然后启动mysql数据库
/usr/local/mysql/bin/mysqladmin shutdown 关闭数据库
mv /var/lib/mysql/ /var/lib/mysql_bak 把原数据库目录重命名
mkdir /var/lib/mysql 新建原数据库目录
innodbackupex --copy-back --rsync /root/backup/2014-05-22_17-52-53
chown -R mysql.mysql /var/lib/mysql
启动数据库
xtrabackup 备份与恢复的更多相关文章
- xtrabackup备份与恢复实践
说明 xtrabackup --percona 特点: 开源,在线备份innodb表 支持限速备份,避免对业务造成影响 支持流备 支持增量备份 支持备份文件压缩与加密 支持并行备份与恢复,速度快 ...
- MySQL入门篇(七)之Xtrabackup备份与恢复
一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...
- Xtrabackup备份与恢复MySQL
1.innobackupex备份原理 .innobackupex启动并fork一个进程启动xtrabackup,然后等待xtrabackup备份InnoDB文件; .xtrabackup备份时存在两个 ...
- Xtrabackup备份与恢复
一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...
- 16、Xtrabackup备份与恢复
XTRABACKUP xtrabackup是percona公司开发的第三方备份软件,只备份innodb引擎表的ibd文件(frm不备份),不备份myisam引擎表.备份性能很高,备份期间没有任和锁,d ...
- XtraBackup 备份与恢复实例讲解
前一篇文章我们讲到了PXB的原理以及安装方法,接下来将详细介绍 XtraBackup 备份和恢复的具体过程. xtrabackup 选项 xtrabackup 工具有许多参数,具体可去官网查询(xtr ...
- mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)
一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...
- Mysql—数据备份与恢复
数据备份 # 备份单个数据库 [root@localhost ~]# mysqldump -h主机名 -u用户名 -p密码 数据库名字 > 备份的数据库名字.sql [root@localhos ...
- 【目录】mysql 进阶篇系列
随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...
随机推荐
- C++ 虚函数表与多态 —— 多重继承的虚函数表 & 内存布局
多重继承的虚函数表会有两个虚表指针,分别指向两个虚函数表,如下代码中的 vptr_s_1.vptr_s_2,Son类继承自 Father 和 Mather 类,并且改写了 Father::func_1 ...
- gnuplot图例legend设置
//将图例放在右下角 set key bottom //将图例放在中间 set key center //将图例放在左边 set key left //将图例放在指定位置右下角的坐标为(10,0.7) ...
- 【Go语言绘图】图片的旋转
在上一篇中,我们了解了gg库的基本使用,包括调整大小.调整圆形参数.设置颜色.保存图片.加载图片和裁剪.这一篇我们来学习一下图片的旋转. 加载图片 首先,我们先来一张黄图. func TestRota ...
- Flink读写Redis(二)-flink-redis-connector代码学习
源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configur ...
- Hive数据倾斜优化
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平 ...
- 拥抱云原生,如何将开源项目用k8s部署?
微信搜索[阿丸笔记],关注Java/MySQL/中间件各系列原创实战笔记,干货满满. k8s以及云原生相关概念近年来一直比较火热,阿丸最近搞了个相关项目,小结一下. 本文将重点分享阿里开源项目otte ...
- Docker Container 就是一个进程,多新鲜啊?
大家对 Docker 都应该有了或多或少的认识了,相信大家都是从这两张图来粗旷的理解 Docker 及容器概念的 那我们如何更轻松的理解容器 Container 呢?说白了 Container 就是一 ...
- 分布式事务MSDTC使用时,需要的配置
服务器最终配置 DTC服务 组件 防火墙 这里,跟下面的解决方案有点差异,在添加2个规则之后,原本就有分布式相关的规则,也给开启了. 网上的解决办法 在服务里打开 Distributed Transa ...
- CentOS7 实战源码部署nginx网站服务器
简介:实战演练nginx网站服务器的搭建 nginx 简介: Nginx是一款高性能的 HTTP 和反向代理服务器 Nginx的优点: 1.高并发量:根据官方给出的数据,能够支持高达 50,000 ...
- tomcat能正常启动,但是http://localhost:8080/网页就是打不开,报404
问题描述: 在IDE中创建了一个新的Servers,并且加入一个Tomcat.然后启动服务,进入浏览器,输入localhost:8080进入,显示错误.服务是可以正常启动的,而且没有任何异常. 问题描 ...