全量冷备份
主要命令
单独命令 | 命令 | 描述 | | —- | —- | | xbcrypt | 用于加密或者解密备份的数据 | | xbstream | 用于压缩或者解压缩 xbstream 文件 | | xtrabackup | 备份 innodb 数据表 |
整合命令 | 命令 | 描述 | | —- | —- | | innobackupex | 上述命令的 perl 脚本封装 |
命令行参数
innodbckupex \ —default-file=/etc/my.cnf \ —host=192.168.1.100 —user=admin —password=Root666. —port=3306 \ —encrypt=AES128 —encrypt-threads=10 —encrypt-chunk-size 512 —encrypt-key=012345678901234567890123 \ — compress —compress-threads=10 —compress-chunk-size 512 include=test.t_user —galera-info \ —no-timestamp — stream=xbstream -> /home/backup.xbstream
- 指定
my.cnf
位置,注意不要远程备份 - 指定备份数据库的信息
使用加密备份 | 参数 | 描述 | | —- | —- | | encrypt | 用于加密的算法: AES128, AES192 AES256 | | encrypt-threads | 执行加密的线程数 | | encrypt-chunk-size | 加密线程的缓存大小
单位 kb
要小于 1m | | encrypt-key | 明文密钥字符,长度要求24个字符 | | encryption-key-file | 如果不想用明文的密钥字符,可以使用密钥文件 |压缩 innodb 数据表 | 参数 | 描述 | | —- | —- | | compress | 压缩 innodb 数据文件 | | compress-threads | 执行压缩的线程数 | | compress-chunk-size | 压缩线程的缓存 | | include | 需要备份的数据表的正则表达式 | | galera-info | 备份 pxc 节点状态文件 |
不创建时间戳目录
- 使用流式压缩备份
- 减少 IO 次数,普通压缩需要经过 备份、压缩两次 IO 操作 | 参数 | 描述 | | —- | —- | | —stream | 指定流式压缩备份方式和目标压缩文件 |
全量冷还原
- 还原只能全量冷还原
步骤
关闭 mysql,清空数据目录,清空表分区目录
流式备份文档冷还原
- 创建临时目录,存放解压后的文件
mkdir /home/temp
- 流式解压备份文档
xbstream -x < /home/backup.xbstream -C /home/temp
- 解密文件
innobackupx \ —decompress \ —dencrypt=AES128 —encrypt-key=012345678901234567890123 \ /hone/temp
- 回滚没有提交的事务,提交已经提交的事务到数据文件中
innobackupex —apply-log /home/temp
- 按照本地 db 配置文件进行还原
innobackupx —copy-back —deafults-file=/etc/my.conf
- 设置数据目录和表分区数据文件目录内文件隶属的用户和用户组
chown -R mysql:mysql
/*