innodb的mysql物理备份_mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)...

一. xtrabackup 选项说明

在操作xtrabackup备份与恢复之前,先看下该工具的选项,下面记录了xtrabackup二进制文件的部分命令行选项,后期把常用的选项在补上。点击查看xtrabackup Option 指南

选项名

说明

--apply-log-only

仅在准备备份时,执行重做阶段。这对于增量备份非常重要。

--backup

做一个备份,

并把它放在xtrabackup——target-dir目录里

--binlog-info

此选项控制Percona XtraBackup如何检索与备份对应的服务器二进制日志坐标。可能的值为OFF、ON、无锁和AUTO。

--check-privileges

检查Percona XtraBackup是否拥有所有必需的特权

--close-files

不要打开文件。当xtrabackup打开表空间时,它通常不会关闭它的文件句柄,以便正确地处理DDL操作。但是,如果表空间的数量非常大,不能满足任何限制,那么可以选择在不再访问文件句柄时关闭它们。Percona XtraBackup可以在启用此选项时产生不一致的备份。自行承担使用风险

--compact

通过跳过辅助索引页创建一个紧凑备份

--compress

这个选项告诉xtrabackup使用指定的压缩算法压缩所有输出数据,包括事务日志文件和元数据文件。目前唯一支持的算法是quicklz。生成的文件具有qpress存档格式,即每个*.qp。由xtrabackup生成的qp文件本质上是一个单一文件的qpress归档文件,可以通过qpress文件归档器提取和解压。

--compress-chunk-size=#

用于压缩线程的工作缓冲区的大小(以字节为单位)。默认值是64K。

--compress-threads=#

此选项指定xtrabackup用于并行数据压缩的工作线程数。此选项默认为1。

例如并行压缩案例

--parallel=4 --compress --compress-threads=2

将创建4个I/O线程,2个线程将读取数据,2个线程数据压缩。

--copy-back

将以前备份的所有文件从备份目录复制到原来的位置。除非指定了xtrabackup—force-non-empty- directory选项,否则此选项不会复制现有文件。

--databases=#

此选项指定应该备份的数据库和表的列表。

"databasename1[.table_name1] databasename2[.table_name2] . . ."

--databases-exclude=name

排除基于名称的数据库,操作方式与xtrabackup --databases相同,但是匹配的名称被排除在备份之外。请注意,此选项的优先级高于xtrabackup--databases。

--databases-file=#

此选项指定到包含数据库和表列表的文件的路径。

二. 增加备份的mysql用户

--创建用于备份的mysql用户bkpuser,设置最基本的权限(全备,增量备份,恢复)

CREATE USER 'bkpuser'@'localhost' IDENTIFIED BY '123456';GRANT RELOAD,LOCK TABLES,REPLICATION CLIENT ON *.* TO 'bkpuser'@'localhost';

--如果需要部分备份,export表,import表权限。还需要设置:

GRANT CREATE TABLESPACE ON *.* TO 'bkpuser'@'localhost';

--如果还需要对备份的过程中对锁进行一些优化,防止发生阻塞所有DML的情况,则还需要:

GRANT PROCESS,SUPER ON *.* TO 'bkpuser'@'localhost';

--查看mysq用户'bkpuser'的权限

SHOW GRANTS FOR 'bkpuser'@'localhost'

bkpuser权限如下图所示:

32b1f1bdd3fef9e43b0163d4000e33cf.png

三.  完全备份案例

步骤1: 在my.cnf中指定target-dir路径,创建并指定/data/backups目录,给最大权限(注意:在生产环境,只要赋予mysql用户和用户组权限,避免系统上所有用户可见导致不安全),重启mysql服务。

[root@hsr /]# mkdirdata

[root@hsr/]# cd data

[root@hsr data]#mkdirbackups

[root@hsr data]#chmod 777backups

[root@hsr backups]#pwd

/data/backups

46bd63db3bb5d7520746f9c3c12b99ad.png

步骤2:使用 --backup选项备份

[root@hsr ~]# xtrabackup --host=127.0.0.1 --user bkpuser --password=123456 --backup

在备份过程中,会看到大量输出显示正在复制的数据文件,以及日志文件线程反复扫描日志文件,并从中复制。下面的示例显示了在后台扫描日志的日志线程,以及在ibdata1文件上复制线程的文件。

30425ee1a39e37d517aee46b908d76d6.png

cbe7e14c95093a562ca9f18209f68187.png

notes:最后看到事务日志 的LSN的值范围,这依赖于你的系统. 日志复制线程每秒钟检查事务日志,看是否有任何新的日志记录写需要复制, 但是,日志复制线程可能无法跟上事务日志的写入量,当日志记录在读取之前被覆盖时,将会出现错误(暂不理解)。

8dd5e63e2776fbb286c8a36b56b6e942.png

备份完成后,目标目录将包含以下文件。

55e19f74d4bc1fb044bd2ae071fee934.png

备份可能需要很长时间,这取决于数据库的大小。在任何时候取消都是安全的,因为它不修改数据库。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值