暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
13. 老男孩-深圳标杆班-DBA-day09-第七章 备份恢复 -2.txt
201
6页
2次
2022-10-27
50墨值下载
1. 上节回顾
mysqldump 核心参数
-A
-B
库 表
--master-data=2
(1) 以注释的形式记录二进制日志信息
(2) 自动开启锁表的功能
--single-transaction
针对 InnoDB 进行快照备份
-R
-E
--triggers
--set-gtid-purged=AUTO/ON/OFF
默认是 auto
主从复制,忽略此参数
普通备份,可以 OFF
-F
=======================
Xtrabackup
1. 备份的过程
(1) InnoDB ,进行短暂的锁表,然后 Copy 数据文件
(2) 对于 InnoDB ,立即出发 checkpoint,会立即记录一个 LSN,COPY 数据文件.
(3) 将备份过程中产生的 redo 进行截取和保存,并记录此时最新的 LSN
2. 恢复过程
模拟了 CSR 的全过程,在恢复之前,将数据的 LSN 号和 redo LSN 号追平
恢复方法就是直接 cp 回去即可
3. XBK 全备和恢复体验
innobackupex --user=root --password=123 --no-timestamp /backup/full
innobackupex --apply-log /backup/full
4. 备份产生的文件介绍
(1) xtrabackup_binlog_info *****
记录备份时刻的二进制日志信息. 可以作为 binlog 截取的起点.
(2) xtrabackup_checkpoints *****
from : 备份中包含的 LSN 号的起点,全备:0,增量:上次备份的结束位置
to : ckpt 时的 LSN
last-9 : 备份结束时的 LSN.下次增量备份的起始位置.
5. 增量备份
5.1 清空备份路径
\rm -rf /backup/*
5.2 模拟数据
create database full charset utf8mb4;
use full;
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
5.3 进行周日的全备
[root@db01 backup]# innobackupex --user=root --password=123 --no-timestamp
/backup/full
5.4 模拟周一的数据变化
create database inc1 charset utf8mb4;
use inc1;
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
5.5 进行周一的增量备份
innobackupex --user=root --password=123 --no-timestamp --incremental
--incremental-basedir=/backup/full /backup/inc1
说明:
--incremental 开关
--incremental-basedir=/backup/full 基于哪个备份进行增量
/backup/inc1 增量备份的位置点
5.6 检查备份的 LSN
[root@db01 backup]# cat /backup/full/xtrabackup_checkpoints
backup_type = full-backuped
from_lsn = 0
to_lsn = 217478672
last_lsn = 217478681
compact = 0
recover_binlog_info = 0
[root@db01 backup]# cat /backup/inc1/xtrabackup_checkpoints
backup_type = incremental
from_lsn = 217478672
to_lsn = 217484653
last_lsn = 217484662
compact = 0
recover_binlog_info = 0
5.7 模拟周二数据变化
create database inc2 charset utf8mb4;
use inc2;
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
5.8 周二的增量
innobackupex --user=root --password=123 --no-timestamp --incremental
--incremental-basedir=/backup/inc1 /backup/inc2
5.9 周三的数据变化
create database inc3 charset utf8mb4;
use inc3;
create table t1 (id int);
insert into t1 values(1),(2),(3);
commit;
5.10 模拟上午 10 点数据库崩溃
pkill mysqld
\rm -rf /data/mysql/data/*
5.11 恢复思路
1. 停业务,挂维护页
2. 查找可用备份并处理备份:full+inc1+inc2
3. binlog: inc2 到 故障时间点的 binlog
of 6
50墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜