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. (转)在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

  2. zoj 1078

    非常简单的题,没什么好说的.唯一值得一提的就是在判断是否是回文的时候只需遍历一半的元素即可,稍微提高一点性能. #include<iostream> using namespace std ...

  3. C++ strcpy实现

    char * strcpy(char * strDest,const char * strSrc) { if ((NULL==strDest) || (NULL==strSrc))  throw &q ...

  4. Android Webview与Html5交互

    转:http://fangjie.info/?p=417#more-417   一.WebView.setWebViewClient(new MyWebViewClient()); 1.public ...

  5. 使用device.js检测设备并实现不同设备展示不同网页

    现在很多时候会用@media来控制页面在不同分辨率的设备商展示不同效果,但是有些时候想在直接在PC上展示一个做好的页面,在mobile展示另一个页面.这个时候可以借助device.js来检测设备,然后 ...

  6. jupyter巨好玩-简介与安装

    ipython notebook改名jupyter了而且更好玩更好用 jupyter简介 jupyter是啥啊? 这个要从ipython说起,ipython是个交互式的python的解释器,自带颜色, ...

  7. Python学习笔记--Python字符串连接方法总结

    声明: 这些总结的学习笔记,一部分是自己在工作学习中总结,一部分是收集网络中的知识点总结而成的,但不到原文链接.如果有侵权,请知会,多谢. python中有很多字符串连接方式,总结一下: 1)最原始的 ...

  8. 【Chromium中文文档】OS X 沙箱设计

    OS X 沙箱设计 转载请注明出处:https://ahangchen.gitbooks.io/chromium_doc_zh/content/zh//General_Architecture/OSX ...

  9. ApiDemos示例学习(2)——App->Activity->Animation

    现在介绍一下com.example.android.app包下的Animation示例. 关键类及函数: ActivityOption overridePendingTransition() make ...

  10. 【自学php】第三天 - 读写文件

    这次的例子是把订单的数据保存起来,一般是用数据库来进行数据的存储最好,但是今天目的是为了学习读写文件,所以这次把数据存在文件里. 读写文件有一般有三个步骤: 1)打开文件.如果文件不存在,需要先创建它 ...