news 2026/6/16 16:57:47

15、XtraBackup

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
15、XtraBackup

安装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`
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 7:50:51

DBeaver插件扩展终极指南:如何用第三方工具提升数据库管理效率

DBeaver插件扩展终极指南:如何用第三方工具提升数据库管理效率 【免费下载链接】dbeaver 项目地址: https://gitcode.com/gh_mirrors/dbe/dbeaver 你是否在为连接特定数据库而烦恼?是否觉得DBeaver的功能无法满足复杂的数据分析需求?…

作者头像 李华
网站建设 2026/6/14 20:53:44

27、Solaris操作系统中的多线程进程架构与内核调度器解析

Solaris操作系统中的多线程进程架构与内核调度器解析 1. 用户级线程执行与LWP的关系 用户级线程的执行依赖于轻量级进程(LWP)或内核线程(kthread),以便被调度执行。线程库中有专门的调度线程负责这部分工作。用户线程有自己的优先级方案和线程库调度器,用于选择下一个要…

作者头像 李华
网站建设 2026/6/10 16:50:06

Avalonia ReactiveUI和DynamicData使用引导

概要Avalonia系列教程每周五持续更新。喜欢本系列视频的观众可在B站或本公众号关注,并且可在评论区表达想看的内容。关注关注Bilibili或本公众号,即可参与不定期会在视频结尾抽奖。https://www.bilibili.com/video/BV1CFJWzuEaG教程中相关的PPT和示例代码…

作者头像 李华
网站建设 2026/6/15 20:09:33

活动预告|AI 开发者日 Day 1:构建人工智能应用

点击蓝字关注我们刚刚落幕的 Microsoft Ignite 与 GitHub Universe 2025 带来了众多关于 AI、开发工具与云平台的重磅更新与全新发布。12 月 16–17 日,微软 Reactor 携手多位来自微软的技术专家,以及微软 MVP,带来 AI 开发者日 系列活动&…

作者头像 李华