10 MySQL-主从复制高级进阶

本文深入探讨MySQL主从复制的高级特性,包括延时从库的配置与应用,半同步复制的工作原理和配置,以及GTID复制的详细流程和处理误写入的方法。通过对这些高级特性的理解与实践,可以提升主从复制的数据一致性和故障恢复能力。
摘要由CSDN通过智能技术生成

主从高级功能

延时从

介绍
是我们认为配置的一种特殊从库.人为配置从库和主库延时N小时.

为什么要有延时从

数据库故障?
物理损坏
主从复制非常擅长解决物理损坏.
逻辑损坏
普通主从复制没办法解决逻辑损坏

配置延时从库
SQL线程延时:数据已经写入relaylog中了,SQL线程"慢点"运行
一般企业建议3-6小时,具体看公司运维人员对于故障的反应时间

mysql>stop slave;
mysql>CHANGE MASTER TO MASTER_DELAY = 300;
mysql>start slave;
mysql> show slave status \G
SQL_Delay: 300
SQL_Remaining_Delay: NULL

延时从库应用
思路 : 1主1从,从库延时5分钟,主库误删除1个库

5分钟之内 侦测到误删除操作
停从库SQL线程
截取relaylog
起点 :停止SQL线程时,relay最后应用位置
终点:误删除之前的position(GTID)
恢复截取的日志到从库
从库身份解除,替代主库工作
模拟故障:

主库数据操作

db01 [(none)]>create database relay charset utf8;
db01 [(none)]>use relay
db01 [relay]>create table t1 (id int);
db01 [relay]>insert into t1 values(1);
db01 [relay]>drop database relay;

停止从库SQL线程

stop slave sql_thread;

找relaylog的截取起点和终点
起点:

Relay_Log_File: db01-relay-bin.000002
Relay_Log_Pos: 482

终点:

show relaylog events in 'db01-relay-bin.000002'
| db01-relay-bin.000002 | 1046 | Xid            |         7 |        2489 | COMMIT /* xid=144 */                  |
| db01-relay-bin.000002 | 1077 | Anonymous_Gtid |         7 |        2554 | SET @@SESSION.GTID_NEXT= 'ANONYMOUS'  |
mysqlbinlog --start-position=482 --stop-position=1077  /data/3308/data/db01-relay-bin.000002>/tmp/relay.sql

从库恢复relaylog

source /tmp/relay.sql

5.从库身份解除

db01 [relay]>stop slave;
db01 [re
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值