news 2026/4/18 7:47:28

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/4/17 11:00:02

Excalidraw进阶技巧:结合HTML与VueDraggable实现动态拼图画面定制

Excalidraw进阶技巧:结合HTML与VueDraggable实现动态拼图画面定制 在远程协作日益频繁的今天,团队越来越依赖可视化工具来表达复杂逻辑——无论是画一张系统架构图,还是快速勾勒产品原型。但很多传统绘图工具用起来总让人觉得“太规整”&…

作者头像 李华
网站建设 2026/4/17 6:23:18

轻量化多模态模型终极指南:Qwen3-VL-8B-Instruct-GGUF完全攻略

轻量化多模态模型终极指南:Qwen3-VL-8B-Instruct-GGUF完全攻略 【免费下载链接】Qwen3-VL-8B-Instruct 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-VL-8B-Instruct 在边缘计算和移动AI快速发展的今天,如何在资源受限的设备上部署强…

作者头像 李华
网站建设 2026/4/18 5:35:15

Node.js性能瓶颈诊断与实战调优:从单机到微服务的性能突破

你是否经历过Node.js应用在高并发场景下响应时间突然飙升?是否困惑于异步代码为何在某些情况下变得"同步"?本文将带你从问题诊断到解决方案,通过性能验证的三段式结构,彻底解决Node.js应用的性能痛点。读完你将掌握从单…

作者头像 李华
网站建设 2026/4/16 13:50:32

LangFlow支持WebSocket实现实时AI交互

LangFlow支持WebSocket实现实时AI交互 在大模型应用快速落地的今天,开发者面临的不再是“能不能做”,而是“如何更快地做出可解释、可调试、可协作的AI系统”。传统的代码驱动开发虽然灵活,但对非技术人员不友好,调试成本高&#…

作者头像 李华
网站建设 2026/4/18 7:43:38

30、Solaris系统中的调度器激活与处理器控制

Solaris系统中的调度器激活与处理器控制 1. 调度器激活概述 调度器激活是为了解决Solaris两级线程架构中的一些不足而引入的,它提供了进程进行短期抢占控制的功能。该功能从Solaris 2.6版本开始引入,不适用于Solaris 2.5.1及更早版本。 1.1 两级线程架构问题 在Solaris 2…

作者头像 李华
网站建设 2026/4/18 2:41:06

32、Solaris 系统中的进程间通信:System V 信号量与消息队列详解

Solaris 系统中的进程间通信:System V 信号量与消息队列详解 1. System V 信号量概述 信号量是一种用于同步多个进程对共享资源访问的机制。其概念源于铁路信号系统,通过机械臂的摆动来控制列车的通行。在计算机软件中,信号量的使用由荷兰数学家 E. W. Dijkstra 于 1965 年…

作者头像 李华