书上摘抄 ---深入浅出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'@'localhostidentified 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 备份与恢复的更多相关文章

  1. xtrabackup备份与恢复实践

    说明   xtrabackup  --percona 特点: 开源,在线备份innodb表 支持限速备份,避免对业务造成影响 支持流备 支持增量备份 支持备份文件压缩与加密 支持并行备份与恢复,速度快 ...

  2. MySQL入门篇(七)之Xtrabackup备份与恢复

    一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

  3. Xtrabackup备份与恢复MySQL

    1.innobackupex备份原理 .innobackupex启动并fork一个进程启动xtrabackup,然后等待xtrabackup备份InnoDB文件; .xtrabackup备份时存在两个 ...

  4. Xtrabackup备份与恢复

    一.Xtrabackup介绍 MySQL冷备.mysqldump.MySQL热拷贝都无法实现对数据库进行增量备份.在实际生产环境中增量备份是非常实用的,如果数据大于50G或100G,存储空间足够的情况 ...

  5. 16、Xtrabackup备份与恢复

    XTRABACKUP xtrabackup是percona公司开发的第三方备份软件,只备份innodb引擎表的ibd文件(frm不备份),不备份myisam引擎表.备份性能很高,备份期间没有任和锁,d ...

  6. XtraBackup 备份与恢复实例讲解

    前一篇文章我们讲到了PXB的原理以及安装方法,接下来将详细介绍 XtraBackup 备份和恢复的具体过程. xtrabackup 选项 xtrabackup 工具有许多参数,具体可去官网查询(xtr ...

  7. mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)

    一. xtrabackup 选项说明 在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上.点击查看xtrab ...

  8. Mysql—数据备份与恢复

    数据备份 # 备份单个数据库 [root@localhost ~]# mysqldump -h主机名 -u用户名 -p密码 数据库名字 > 备份的数据库名字.sql [root@localhos ...

  9. 【目录】mysql 进阶篇系列

    随笔分类 - mysql 进阶篇系列 mysql 开发进阶篇系列 55 权限与安全(安全事项 ) 摘要: 一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysq ...

随机推荐

  1. C++ 虚函数表与多态 —— 多重继承的虚函数表 & 内存布局

    多重继承的虚函数表会有两个虚表指针,分别指向两个虚函数表,如下代码中的 vptr_s_1.vptr_s_2,Son类继承自 Father 和 Mather 类,并且改写了 Father::func_1 ...

  2. gnuplot图例legend设置

    //将图例放在右下角 set key bottom //将图例放在中间 set key center //将图例放在左边 set key left //将图例放在指定位置右下角的坐标为(10,0.7) ...

  3. 【Go语言绘图】图片的旋转

    在上一篇中,我们了解了gg库的基本使用,包括调整大小.调整圆形参数.设置颜色.保存图片.加载图片和裁剪.这一篇我们来学习一下图片的旋转. 加载图片 首先,我们先来一张黄图. func TestRota ...

  4. Flink读写Redis(二)-flink-redis-connector代码学习

    源码结构 RedisSink package org.apache.flink.streaming.connectors.redis; import org.apache.flink.configur ...

  5. Hive数据倾斜优化

    在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显.主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平 ...

  6. 拥抱云原生,如何将开源项目用k8s部署?

    微信搜索[阿丸笔记],关注Java/MySQL/中间件各系列原创实战笔记,干货满满. k8s以及云原生相关概念近年来一直比较火热,阿丸最近搞了个相关项目,小结一下. 本文将重点分享阿里开源项目otte ...

  7. Docker Container 就是一个进程,多新鲜啊?

    大家对 Docker 都应该有了或多或少的认识了,相信大家都是从这两张图来粗旷的理解 Docker 及容器概念的 那我们如何更轻松的理解容器 Container 呢?说白了 Container 就是一 ...

  8. 分布式事务MSDTC使用时,需要的配置

    服务器最终配置 DTC服务 组件 防火墙 这里,跟下面的解决方案有点差异,在添加2个规则之后,原本就有分布式相关的规则,也给开启了. 网上的解决办法 在服务里打开 Distributed Transa ...

  9. CentOS7 实战源码部署nginx网站服务器

    简介:实战演练nginx网站服务器的搭建 nginx 简介: Nginx是一款高性能的 HTTP 和反向代理服务器   Nginx的优点: 1.高并发量:根据官方给出的数据,能够支持高达 50,000 ...

  10. tomcat能正常启动,但是http://localhost:8080/网页就是打不开,报404

    问题描述: 在IDE中创建了一个新的Servers,并且加入一个Tomcat.然后启动服务,进入浏览器,输入localhost:8080进入,显示错误.服务是可以正常启动的,而且没有任何异常. 问题描 ...