xtrabackup备份的原理:

  xtrabackup直接复制datadir目录中的文件到备份目录下。这样问题就来了,在备份的时候mysql可以还在执行写入操作;所以xtrabackup会不停的去扫描MySQL的

  redo_log,也就是说备份集中一来会保存数据文件,二来还会保存日志文件;注意这个时候备份并不是一致的,原因是有的事务提交了,但是也只是写把变更写到了redo_log

  中,并还没有把变更写到数据文件当中去。由于这个原因我们要前滚redo_log以应用那些已经提交了的事务。

xtrabackup备份需要的权限:

  1、MySQL层面:由于要备份MYISAM引擎的表(xtrabackup不能备份MYISAM表,但是它的包装器innobackup可以备份这种表)所以要用到RELOAD,LOCK TABLE。

          这个权限用于执行FLUSH TABLES WITH READ LOCK、FLUSH ENGINE LOGS。

  2、MYSQL层面:REPLICATION CLIENT 这个权限为的是查看二进制日志当前写到了那个位置。

  3、MySQL层面:PROCESS 查看MySQL相关连接的进程。

  4、MySQL层面:SUPPER 用于在复制环境中执行stop slave | start slave。

  5、MySQL层面:create、insert、select;这是因为xtrabackup会创建一个它自己用的表对象。

  6、综上所述创建用于xtrabackup备份用户的SQL语句为

          grant RELOAD,LOCK TABLES,REPLICATION CLIENT,PROCESS,SUPER,CREATE,INSERT,SELECT on *.*

          to xtraback@'localhost' identified by 'xtraback';

  7、Linux文件系统层面:由于要写入,读取;所以用户要有对应备份目录的wrx权限。对datadir目录要rx权限。

  8、在linux系统中创建一个用于执行备份的用户

          root> useradd xtrabackupuser

          root>echo 'xtrabackupuser' | passwd --stdin xtrabackupuser

          root>mkdir /mysql_backup && chown xtrabackupuser.xtrabackupuser /mysql_backup

xtrabackup备份例子:用xtrabckupuser创建一个全备

          root> su - xtrabackupuser

          xtrabackupuser> innobackup --user=xtraback --password=xtraback /mysql_backup

          #看清楚了没有,明白了吧,只要给了它MySQL、Linux这两个层面的权限就可以执行备份了。

          

由于xtrabackup还要记录一些操作日志到mysql数据中,总的来说它要用到的所有权限如下:

create user xtrabackup@'localhost' identified by 'xtrabackup';
grant reload,lock tables,replication client,create tablespace,process,super on *.* to xtrabackup@'localhost' ;
grant create,insert,select on percona_schema.* to xtrabackup@'localhost' ;

xtrabackup执行备份要拥有的权限的更多相关文章

  1. MySQL数据库之xtrabackup物理备份(一)

    前言:说到数据库备份,我们知道可以用来对数据库进行备份的工具有mysqldump.mydumer.mysqlpump等等,实际工作中,机器上的数据库不大的话,都是用mysqldump工具来备份,这些备 ...

  2. XtraBackup物理备份 阿里云的Mysql备份方案

    XtraBackup物理备份 Percona XtraBackup是世界上唯一的开源,免费的MySQL热备份软件,为InnoDB和XtraDB 数据库执行非阻塞备份.使用Percona XtraBac ...

  3. MariaDB xtrabackup物理备份与还原

    xtrabackup物理备份 1.1 安装xtraback 安装依赖: [root@localhost ~]# yum install -y perl-DBD-MySQL perl-DBI perl- ...

  4. xtrabackup数据库备份工具

    下来我来介绍一下更强大的备份工具:xtrabackup xtrabackup是Percona公司CTO Vadim参与开发的一款基于InnoDB的在线热备工具,具有开源,免费,支持在线热备,备份恢复速 ...

  5. 编译安装mysql和zabbix,xtrabackup数据库备份

    xtrabackup参考文章 https://www.cnblogs.com/linuxk/p/9372990.html 下载5.7的mysql 社区版包 https://cdn.mysql.com/ ...

  6. Qt之开机自启动及拥有管理员权限

    源地址:http://blog.sina.cn/dpool/blog/s/blog_a6fb6cc90101feia.html Windows开机自启动的程序很多,包括系统软件.杀毒软件.一些其他安装 ...

  7. xtrabackup数据库备份

    xtrabackup备份 一.Xtrabackup概述 1.1.简介 Xtrabackup是一个对InnoDB做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Ho ...

  8. Innobackupex(xtrabackup)物理备份

    1. Percona XtraBackup介绍 Percona XtraBackup(简称PXB)是 Percona 公司开发的一个完全开源的用于 MySQL 数据库物理热备的备份工具,在备份过程中不 ...

  9. Linux 备份 文件夹的权限 然后在其他机器进行恢复

    Study From https://www.cnblogs.com/chenshoubiao/p/4780987.html 用到的命令 getfacl 和 setfacl 备份 getfacl -R ...

随机推荐

  1. I/O浅析

    1.为什么需要I/O? 因为程序需要从别的文件中获取内容或者程序要将自身的内容传入到文件中. 2.流种类的概述 1.字节流和字符流 字节流的基础单位是byte                  字符流 ...

  2. WdatePicker日历控件使用方法

    1. 跨无限级框架显示 无论你把日期控件放在哪里,你都不需要担心会被外层的iframe所遮挡进而影响客户体验,因为My97日期控件是可以跨无限级框架显示的 示例2-7 跨无限级框架演示 可无限跨越框架 ...

  3. Scrapy入门程序点评

    1,引言 在<Scrapy的架构初探>一文,我基于爬虫开发的经验对Scrapy官网文章作了点评和解读,事件驱动的异步处理架构.极强的模块化等是个绝好的框架,接着我细读了官网的<Scr ...

  4. Swift笔记01

    变量使用var 来声明,常量是所有let ,变量名没什么限制 中文表情都可以 ,一般还是使用英文. var str = "luoshuai "  //swift语句后面不需要; l ...

  5. android PopupWindow显示位置

    PopupWindow的显示及位置设置 window.showAtLocation(parent, Gravity.RIGHT | Gravity.BOTTOM, 10,10); 第一个参数指定Pop ...

  6. InputStream读取文件到string后OutputStream到文件,按String和Bytes拷贝

    http://www.iteye.com/problems/72150 写了一段代码 大体是 InputStream读取文件到string后OutputStream到文件 遇到的问题为TXT文件大小格 ...

  7. css案例学习之盒子模型

    定义:每个盒子都有:边界.边框.填充.内容四个属性: 每个属性都包括四个部分:上.右.下.左:这四部分可同时设置,也可分别设置:里的抗震辅料厚度,而边框有大小和颜色之分,我们又可以理解为生活中所见盒子 ...

  8. list 、set 、map 粗浅性能对比分析

    list .set .map 粗浅性能对比分析   不知道有多少同学和我一样,工作五年了还没有仔细看过list.set的源码,一直停留在老师教导的:"LinkedList插入性能比Array ...

  9. c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow

    c++ - How to use wstring and wcout to output Chinese words in Xcode? - Stack Overflow How to use wst ...

  10. javascript第十二课array数组

    数组的声明方式: var add=new array(元素1,元素2,元素3......); 推荐的数组声明方式: var add=[元素1,元素2,元素3,元素4....]; 数组遍历方式: 循环遍 ...