记录我自己配置的 git 别名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
root ~ $ cat .gitconfig
[user]
name = toypipi
email = 275688469@qq.com
[credential]
helper = store
[i18n]
commitencoding = utf-8
logoutputencoidng = utf-8
encoding = utf-8
[core]
autocrlf = input
[alias]
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
ci = commit
st = status
pl = pull
ph = push

阅读全文 »


Percona XtraBackup 已经实现了对加密备份的支持。它可用于使用 xbstream 选项加密、解密本地备份或流式备份(不支持流式 tar 备份),以便为备份添加另一层保护。加密是通过 libgcrypt 库完成的。

#创建加密备份

要创建一个加密备份,需要指定以下选项(选项 xtrabackup --encrypt-keyxtrabackup --encrypt-key-file 是互斥的,即只需要提供其中的一个就行):

  • --encrypt=ALGORITHM - 目前支持的算法有:AES128AES192AES256
  • --encrypt-key=ENCRYPTION_KEY - 使用适当长度的加密密钥。不建议在通过命令行访问机器的情况下使用此选项,因为该密钥在执行过程中会被打印输出。
  • --encrypt-key-file=KEYFILE - 可从中读取适当长度的原始密钥的文件的名称。该文件必须是一个简单的二进制(或文本)文件,其中准确存储了需要使用的密钥。

xtrabackup --encrypt-key 选项和 xtrabackup --encrypt-key-file 选项均可用于指定加密密钥。加密密钥可以使用如下命令生成:

1
$ openssl rand -base64 24
阅读全文 »


Percona XtraBackup 实现了对压缩备份的支持。它可以使用 xbstream 压缩、解压缩本地备份或流式备份。

创建压缩备份

为了进行压缩备份,您需要使用 xtrabackup --compress 选项:

1
$ xtrabackup --backup --compress --target-dir=/data/compressed/

如果您想加快压缩速度,可以使用并行压缩,可以使用 xtrabackup --compress-threads 选项启用并行压缩。以下示例将使用四个线程进行压缩:

1
2
$ xtrabackup --backup --compress --compress-threads=4 \
--target-dir=/data/compressed/

输出看起来像这样

阅读全文 »


xtrabackupinnobackupex 工具都支持增量备份,这意味着它们可以仅复制自上次备份以来发生更改的数据。

您可以在每次完整备份之间执行多次增量备份,因此您可以这样设置备份过程,例如每周一次完整备份和每天增量备份,或者每天完整备份和每小时增量备份。

增量备份的工作原理是每个 InnoDB 页都包含日志序列号既 LSN。 LSN 是整个数据库的系统版本号。每个页的 LSN 显示了它最近的变化。

增量备份复制那些 LSN 比之前增量备份或完全备份的 LSN 更新的所有页面。有两种算法用于查找要复制的这类页面的集合。第一种算法可用于所有服务器类型和版本,它通过读取所有数据页直接检查页面 LSN。 第二种方法适用于 Percona Server 它启用服务器上更改页面跟踪功能,该功能会在页面被更改时记录下来。这些信息将被写入一个紧凑的单独的所谓的位图文件中。 xtrabackup 二进制文件将使用该文件只读取增量备份所需的数据页面,这潜在地节省了很多读取请求。如果xtrabackup 程序找到了位图文件,则默认启用后一种算法。即使位图数据可用,也可以指定xtrabackup --incremental-force-scan 来读取所有页面。

阅读全文 »


创建备份

要创建备份,请使用 xtrabackup --backup 选项运行 xtrabackup 。您还需要使用 xtrabackup --target-dir 选项指定备份文件存储的目录,如果 InnoDB 数据或日志文件未存储在同一目录中,则还需要指定他们的位置。如果备份的目标目录不存在, xtrabackup 会创建它。如果目录确实存在并且为空,则 xtrabackup 将成功运行。 如果目录不为空, xtrabackup 不会覆盖现有的文件,它会执行失败,并报操作系统错误码17,file exists

要开始备份请运行:

1
$ xtrabackup --backup --target-dir=/data/backups/

这会将备份存储在 /data/backups/ 目录中。如果您指定的是相对路径,则目标目录将与您当前目录有关。

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

阅读全文 »
0%