一. 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 '';
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权限如下图所示:

    

三.  完全备份案例

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

[root@hsr /]# mkdir data
[root@hsr /]# cd data
[root@hsr data]# mkdir backups
[root@hsr data]# chmod backups
[root@hsr backups]# pwd
/data/backups

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

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

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

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

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

  最后:备份工作原理请查看:mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)

mysql 开发进阶篇系列 46 物理备份与恢复( xtrabackup的 选项说明,增加备份用户,完全备份案例)的更多相关文章

  1. mysql 开发进阶篇系列 47 物理备份与恢复(xtrabackup 的完全备份恢复,恢复后重启失败总结)

    一. 完全备份恢复说明 xtrabackup二进制文件有一个xtrabackup --copy-back选项,它将备份复制到服务器的datadir目录下.下面是通过 --target-dir 指定完全 ...

  2. mysql 开发进阶篇系列 48 物理备份与恢复(xtrabackup 的增量备份与恢复,以及备份总结)

    一.增量备份概述 xtrabackup  和innobackupex  二个工具都支持增量备份,这意味着能复制自上次备份以来更改的数据.可以在每个完整备份之间执行许多增量备份,因此,您可以设置一个备份 ...

  3. mysql 开发进阶篇系列 45 物理备份与恢复(xtrabackup 安装,用户权限,配置)

    一. 安装说明 安装XtraBackup 2.4 版本有三种方式: (1) 存储库安装Percona XtraBackup(推荐) (2 )下载的rpm或apt包安装Percona XtraBacku ...

  4. mysql 开发进阶篇系列 44 物理备份与恢复( 热备份xtrabackup 工具介绍)

    一.概述 物理备份和恢复又分为冷备份和热备份.与逻辑备份相比,它最大优点是备份和恢复的速度更快.因为物理备份的原理都是基于文件的cp. 1.1 冷备份 冷备份就是停掉数据库服务.这种物理备份一般很少使 ...

  5. mysql 开发进阶篇系列 42 逻辑备份与恢复(mysqldump 的完全恢复)

    一.概述 在作何数据库里,备份与恢复都是非常重要的.好的备份方法和备份策略将会使得数据库中的数据更加高效和安全.对于DBA来说,进行备份或恢复操作时要考虑的因素大概有如下: (1) 确定要备份的表的存 ...

  6. mysql 开发进阶篇系列 43 逻辑备份与恢复(mysqldump 的基于时间和位置的不完全恢复)

    一. 概述 在上篇讲到了逻辑备份,使用mysqldump工具来备份一个库,并使用完全恢复还原了数据库.在结尾也讲到了误操作是不能用完全恢复的.解决办法是:我们需要恢复到误操作之前的状态,然后跳过误操作 ...

  7. mysql 开发进阶篇系列 55 权限与安全(安全事项 )

    一. 操作系统层面安全 对于数据库来说,安全很重要,本章将从操作系统和数据库两个层面对mysql的安全问题进行了解. 1. 严格控制操作系统账号和权限 在数据库服务器上要严格控制操作系统的账号和权限, ...

  8. mysql 开发进阶篇系列 20 MySQL Server(innodb_lock_wait_timeout,innodb_support_xa,innodb _log_*)

    1. innodb_lock_wait_timeout mysql 可以自动监测行锁导致的死锁并进行相应的处理,但是对于表锁导致的死锁不能自动监测,所以该参数主要用于,出现类似情况的时候等待指定的时间 ...

  9. mysql 开发进阶篇系列 10 锁问题 (相同索引键值或同一行或间隙锁的冲突)

    1.使用相同索引键值的冲突 由于mysql 的行锁是针对索引加的锁,不是针对记录加的锁,所以虽然是访问不同行的记录,但如果是使用相同的索引键,是会出现锁冲突的.设计时要注意 例如:city表city_ ...

随机推荐

  1. map获取数字与int比较

    已知 map.get("id")为数字,如:123问题 id.equals(123) 结果为false而使用 int id = (Integer)map.get("id& ...

  2. union: php/laravel command

    #########Laravel###############2018-01-09 16:46:26 # switch to maintenance mode php artisan down # s ...

  3. python3 利用pip命令安装包和模块

    本文介绍如何利用pip命令安装Python相关的包和模块.在Python中有些方法或者模块是自带的功能,也叫(build-in),内构函数,实际使用,可能内构函数或者模块不能完成我们的任务,我们就需要 ...

  4. thymeleaf拆分头部(head)显示异常问题

    问题描述: 刚用thymeleaf不久,考虑到公共头部的导入css,js代码,需要拆分. 拆分之后,bootstrap-select下拉多选框出现“样式异常”,本认为是头部拆分问题,css样式未导入成 ...

  5. Codeforces 888 简要题解

    文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 A题 传送门 题意简述:给一个数列,问有多少个峰值点(同时比两边都大/小的点) 思路:按照题意模拟. 代码: #include<bit ...

  6. python提示AttributeError: 'NoneType' object has no attribute 'append'【转发】

    在写python脚本时遇到AttributeError: 'NoneType' object has no attribute 'append' a=[] b=[1,2,3,4] a = a.appe ...

  7. sjms-3 结构型模式

    结构型模式 适配器模式 内容:将一个类的接口转换成客户希望的另一个接口.适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作.两种实现方式:类适配器:使用多继承对象适配器:使用组合 角色 ...

  8. 2019.03.15王苛震——myls

    /* 1.尝试实现ls命令的功能 加选项-l -a -i -h */ #include <stdio.h> #include <sys/types.h> #include &l ...

  9. RK3288 uboot启动流程

    VS-RK3288嵌入式板卡 U-boot 启动流程小结 bl    board_init_f -> crt0.S    initcall_run_list(init_sequence_f) - ...

  10. Windows 注册表 16进制时间转换( Convert Reg_binary Time to a Datetime )

    背景: Windows注册表中,存在大量16进制的时间,以 reg_binary存储在注册表中. 例如: 0D 6C A4 4B 37 C5 CE 01 这种值日常报表中需要转换为适合人阅读的格式,实 ...