2020-03-09主从复制高级进阶

1. 延时从库 *****   主要处理物理损坏

配置延时从库

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监控到数据库的逻辑故障

2停从库的sql线程,记录已经回放的位置点

     stop slave sql thread ;

     Relay_Log_File: localhost-relay-bin.000002

     Relay_Log_Pos: 626

3 截取relaylog

起点:show slave status \G

终点:误删除之前的position(GTID)

4. 恢复截取的日志到从库

5. 从库身份解除,替代主库工作

故障模拟及恢复

1.主库数据操作

1.主库数据操作

db01 [(none)]>create database relay charset utf8;

db01 [(none)]>use relay

db01 [relay]>create table t1(id int);

db01 [relay]>insert into t1values(1);

db01 [relay]>drop database relay;

2. 停止从库SQL线程

stop slave sql_thread;

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

起点:Relay_Log_File: localhost-relay-bin.000002

                Relay_Log_Pos: 626

终点:show relaylog eventsin'localhost-relay-bin.000002'

备份:mysqlbinlog --start-position=626 --stop-position=1286  /data/3308/data/localhost-relay-bin.000002>/tmp/relay.sql

set sql_log_bin=0;

source /tmp/relay.sql

从库身份解除

db01 [relay]>stop slave;

db01 [relay]>reset slave all;

2. 过滤复制*****

reset master; 清除日志

show master status;

主库:

Binlog_Do_DB

Binlog_Ignore_DB

从库:

show slave status\G

Replicate_Do_DB:

Replicate_Ignore_DB:


在 my.cnf加配置

3.GTID *****

重要参数 

gtid-mode =on

enforce-gtid-consistency=true  打开从库

log-slave-update=1       slave更新日志

change master to 

master_host='10.0.0.51',

master_user='repl',

master_password='123',

MASTER_AUTO_POSITION=1;  读取relay_log最后一个事件


4.半同步***

5.MHA高可用****


你可能感兴趣的:(2020-03-09主从复制高级进阶)