ITPub博客

首页 > 数据库 > MySQL > 【Xtrabackup】Xtrabackup备份基础知识

【Xtrabackup】Xtrabackup备份基础知识

原创 MySQL 作者:恩强Boy 时间:2021-01-08 20:00:48 0 删除 编辑

一、  xtrabackup 备份工具介绍

1.  xtrabackup 备份介绍

Percona-xtrabackup Percona 公司开发的一个用于 MySQL 数据库物理热备的备份工具 它是开源免费的支持MySQL 数据库热备份的软件, xtrabackup 只能备份 innoDB xtraDB 两种数据引擎的表,而不能备份 MyISAM 数据表 MyISAM 基本也被淘汰了 ;它可以创建InnoDB 热备份;为 mysql 做增量备份;在 mysql 服务器之间做在线表迁移;使创建 replication 更加容易;备份 mysql 而不增加服务器的负载。

2.  xtrabackup 版本兼容性

Percona -x traBackup 8.0 Percona XtraBackup 新推出了一个针对 MySQL8.0 的版本,主要是 MySQL8.0 Redo 和 数据库字典方面有了新的改进。 XtraBackup 2.4 继续支持 MySQL 5.6 5.7

(1) xtrabackup 8.0 移除了innobackupex 命令;

(2) 由于新的MySQL 重做日志和数据字典格式, 8.0 版本只支持 mysql8.0 percona8.0

(3) 早于mysql8.0 的版本需要使用 xtrabackup2.4 备份和恢复 .

3.  xtrabackup 备份优点

1)  备份速度快,物理备份

2)  备份过程中不影响数据库使用,热备份

3)  自动备份校验

4)  还原速度快

5)  可以将备份传输到另一个机器上

6)  不增加服务器负载

二、  xtrabackup 备份工具准备

1.  xtrabackup 下载

xtrabackup 8.0 版本

下载地址

xtrabackup 2.4 版本

示例为8.0 版本下载方式

这里选择 Xtrabackup 版本和操作系统版本

在选择安装包的时候,直接选择 rpm 包就行

2.  xtrabackup 安装

1)  在官网下载好的介质

percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

2)  安装该rpm 包,需要下载并安装依赖包 libev

# rpm -ivh libev*.rpm

# yum -y install percona-xtrabackup-24-2.4.21-1.el7.x86_64.rpm

3)  安装完成后,验证一下

# rpm -qa|grep xtrabackup

percona-xtrabackup-24-2.4.21-1.el7.x86_64

4)  查询一下该软件包安装了哪些软件

# rpm -ql percona-xtrabackup-24-2.4.21-1.el7.x86_64

/usr/bin/innobackupex

/usr/bin/xbcloud

/usr/bin/xbcloud_osenv

/usr/bin/xbcrypt

/usr/bin/xbstream

/usr/bin/xtrabackup

/usr/lib64/xtrabackup/plugin/keyring_file.so

/usr/lib64/xtrabackup/plugin/keyring_vault.so

/usr/share/doc/percona-xtrabackup-24-2.4.21

/usr/share/doc/percona-xtrabackup-24-2.4.21/LICENSE

/usr/share/man/man1/innobackupex.1.gz

/usr/share/man/man1/xbcrypt.1.gz

/usr/share/man/man1/xbstream.1.gz

/usr/share/man/man1/xtrabackup.1.gz

3.  xtrabackup 常用工具说明

x trabackup 中主要包含两个工具

xtrabackup :是用于热备 innodb xtradb 表中数据的工具,不能备份其他类型的表,也不能备份数据表结构

innobackupex :是将 xtrabackup 进行封装的 perl 脚本,提供了备份 myisam 表的能力。

4.  innobackupex 常用参数解释

参数

说明

-v,--version

输出 xtrabackup 版本信息

-?,--help

显示帮助

--apply-log

通过应用相同目录下的“ xtrabackup_logfile ”事务日志文件,在 BACKUP-DIR 目录下准备一个备份,另外会创建一个新的事务日志。 innoDB 文件配置从 "backup-my.cnf" 中获取   

--redo-only

该选项用于,准备一个全量备份、合并除最后一个增量以外的所有增量。该选项强迫 xtrabackup 跳过“ rollback , 只做“ redo , 如果后面的备份有增量改变,那么必须使用该选项

--copy-back

将创建的备份中的所有文件从备份目录复制到它们的原始位置

--move-back

将备份的文件移动从备份目录移动到它们的原始位置,不保留备份文件

--galera-info

这个选项会创建 xtrabackup_galera_info 文件。该文件包含备份时本机节点状态。该选项应该在创建 Percona-XtraDB-Cluster 备份时使用。当使用备份锁创建备份时,没有任何效果。

--slave-info

当备份一个复制 slave 服务器时,该选项特别有用。它会输出 bin log 位置和 master 服务器的名字。它还将此信息作为 "CHANGE MASTER" 命令写入 "xtrabackup_slave_info" 文件。

--incremental

这个选项会创建增量备份,而不是完整备份。它被传递给 xtrabackup 子进程。如果指定了该选项,可以选择“ --incremental-lsn ”或“ --incremental-basedir ”。如果两个选项都没有给出,默认的选项为“ --incremental-basedir

--no-lock

使用此选项禁用具有“ FLUSH TABLES WITH READ LOCK ”的表锁

--safe-slave-backup

停止 slave 线程,等待启动备份直到 "SHOW STATUS" 中的 Slave_open_temp_tables 为零。

--rsync

使用 rsync 程序优化本地文件传输。当指定了这个选项时, innobackupex 使用 rsync 来复制所有非 innodb 文件,而不是为每个文件生成一个单独的 cp ,这对于拥有大量数据库或表的服务器来说会快得多。这个选项不能和 --stream 一起使用

--force-non

-empty-directories

此选项,会将 --copy-back --move-back 传输文件到非空目录,注意现有的文件不会被覆盖

--no-timestamp

此选项阻止创建命令行上给定的 BACKUP-ROOT-DIR 的带时间戳的子目录。当指定了此选项时,备份将在 backup-root-dir 中执行。

--no-version-chec k

禁用版本检查

--no-backup-locks

该选项控制使用应该使用备份锁

--decompress

在先前使用 compress 选项进行的备份中,解压所有扩展名为 .qp 的文件

-u, --user=name

指定 MySQL 用户名

-H, --host=name

指定主机名,使用 TCP/IP 协议

-P, --port=#

指定端口号

-p, --password=name

指定密码

-S, --socket=name

当本地登录时,指定 socket

--history[=name]

该选项启用 PERCONA_SCHEMA.xtrabackup_history 表的跟踪备份历史记录

--databases=name

指定备份的数据库名称

--compress[=name]

该选项只是 xtrabackup 压缩 InnoDB 数据文件的备份副本。

--compress-threads

该选项指定用于并行压缩的工作进程的数量

--compress-chunk-size

压缩进程的工作 buffer 大小,默认是 64K

--export

它允许导出单独的表传输到另外的服务器

--incremental-basedir

指定包含全备的目录,作为增量备份的数据集的基础

--incremental-dir

此选项指定将增量备份与完全备份结合以进行新的完全备份的目录。

--incremental-lsn

该选项指定 LSN(Log Sequence number) 用于增量备份

--parallel=#

在备份阶段,该选项指定 xtrabackup 子进程用于并行备份的线程数

--tables-file=name

该选项指定包含表单数据库名称列表的文件

-t, --tmpdir=name

制定存储临时文件的位置

--use-memory=#

该参数指定 xtrabackup 在准备备份时用于崩溃恢复的内存字节数。,它仅与选项 --apple-log 一起使用

 

 

---- end ----


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2748605/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
勤奋,专注和练习

注册时间:2018-04-03

  • 博文量
    75
  • 访问量
    140879