zoukankan      html  css  js  c++  java
  • xtrabackup执行备份要拥有的权限

    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' ;
  • 相关阅读:
    Android中实现定时器的三种方法 分类: Android 2015-07-14 18:04 11人阅读 评论(0) 收藏
    java构造器内部多态方法
    java继承方法覆盖
    java对象实例化 静态块,对象块,构造函数执行顺序
    Linux 的系统运行级别
    Jmeter启动jmeter-server.bat 报java.io.FileNotFoundException:rmi_keystore.jks 解决方法
    jmeter中JSON Extractors使用
    CentOS6.5下安装jenkins
    day12接口自动化测试框架
    day10 python接口开发、mock接口、网络编程
  • 原文地址:https://www.cnblogs.com/JiangLe/p/4837196.html
Copyright © 2011-2022 走看看