15、XtraBackup
2026/9/5 22:26:41 网站建设 项目流程

安装XtraBackup

官方文档: https://docs.percona.com/percona-xtrabackup/8.0/

https://www.percona.com/downloads#percona-xtrabackup


Percona XtraBackup

A hot backup solution for MySQL

Select Product

Package Download Options:

percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17-minimal.tar.gz
percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17-minimal.tar.gz.sho256sum
percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17.tar.gz
percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17.tar.gz.sho256sum

User Manual Documentation


# 创建安装目录sudomkdir-p /usr/local/xtrabackup# 解压到安装目录sudotar-xzvf percona-xtrabackup-8.0.35-30-Linux-x86_64.glibc2.17.tar.gz -C /usr/local/xtrabackup --strip-components=1# 创建符号链接到系统 PATHsudoln-sf /usr/local/xtrabackup/bin/* /usr/local/bin/# 验证安装xtrabackup --version
# ls bin/ xbcloud xbcloud_osenv xbcrypt xbstream xtrabackup

各个文件的具体作用如下:

  • xbcloud: 与流式备份相结合,将备份存储到云服务的对象存储上。
  • xbcloud_osenv: 对 xbcloud 进行了二次封装,可自动读取 OpenStack 环境中的 OS_xxx 变量。
  • xbcrypt: 用来加解密。
  • xbstream: 用来解压流式备份集。
  • xtrabackup: 大家常用的备份恢复工具。

创建备份用户

备份用户需要以下权限:

  1. RELOAD:用于执行 FLUSH TABLES WITH READ LOCK 和 FLUSH NO_WRITE_TO_BINLOG TABLES,必需权限。

  2. REPLICATION CLIENT:用于执行 SHOW MASTER STATUS,必需权限。如果是在从库进行备份,还需要执行 SHOW SLAVE STATUS。

  3. BACKUP_ADMIN:用于执行 LOCK INSTANCE FOR BACKUP,必需权限。在 MySQL 5.7 中无需设置。

  4. PROCESS:用于执行 SHOW ENGINE INNODB STATUS,SHOW PROCESSLIST,必需权限。

  5. SYSTEM_VARIABLES_ADMIN:增量备份时执行 SET GLOBAL mysqlbackup_backupid=xxx 操作,非必需权限。在 MySQL 5.7 中无需设置。

  6. SUPER:非必需权限。两种场景下需要:

    • 指定了--kill-long-queries-timeout,需要 KILL 慢查询。
    • 从库备份指定了--safe-slave-backup,需要重启复制。
  7. SHOW VIEW:在 XtraBackup 8.0 中,会通过下面这个 SQL 来判断备份实例中是否存在 MyISAM 表。如果有则加全局读锁。对于一个普通用户,查询 INFORMATION_SCHEMA.TABLES,只能看到 information_schema 库中的表信息。如果要查看其它表,需要该表级别权限,常用的是 SELECT 权限,但 SELECT 权限能读取表中的数据,不满足合规要求。所以就选择了 SHOW VIEW 这个既能满足需求,又无实际影响的表级别权限。在 MySQL 5.7 中无需设置。

    SELECTCOUNT(*)FROMinformation_schema.tablesWHEREengine='MyISAM'ORengine='RocksDB'
  8. 如果使用了 Page Tracking 来进行增量备份,还需要 mysql.component 的查询权限。在 MySQL 5.7 中无需设置。

  9. 如果指定了--history,还需要 PERCONA_SCHEMA.xtrabackup_history 的 SELECT, INSERT, CREATE, ALTER 权限。

具体的授权语句如下:

CREATEUSER`backup_user`@`localhost`IDENTIFIEDBY`backup_pass`;GRANTRELOAD,PROCESS,SHOWDATABASES,REPLICATIONCLIENT,SHOWVIEWON*.*TO`backup_user`

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询