MYSQL架构调整的常用方式

一、不同级别挂载为同一级别

低级从库往上级挂载比较简单,只要上一级停止复制线程,确保没有数据写入,记录此时被挂载的主库位点,按此位点change即可。

如下:把192.168.1.4提升为1级从库,挂载到192.168.1.1下

操作步骤:

步骤

主库

一级从库

二级从库

IP

192.168.1.1

192.168.1.3

192.168.1.4

1

停止1级从库的复制线程stop slave;

2

记录此时主库位置show slave status\GMaster_Log_File: 主库binlogRead_Master_Log_Pos: 主库Pos

3

确保从库没有延迟show slave status\GSeconds_Behind_Master: 0

4

如没有延迟执行change master to master_user='XXX',master_password='XXX',master_host='192.168.1.1',MASTER_LOG_FILE='主库binlog', MASTER_LOG_POS=主库Pos;

5

start slave;

6

start slave;

7

查看状态show slave status\G

查看状态show slave status\G

二、同级别挂载为不同级别

将1级从库挂到同级从库下,变成2级从库,此时需要用到start slave until功能,且需注意先停止摘掉的那台从库。

如下:把192.168.1.4挂载到192.168.1.3下,变成2级从库

操作步骤:

步骤

主库

一级从库

二级从库

IP

192.168.1.1

192.168.1.3

192.168.1.4

1

先停止需要变成2级从库那台复制线程stop slave;

2

再停止目标1级从库的复制线程stop slave;

3

记录此时执行到的主库位置show slave status\GMaster_Log_File: 主库binlogRead_Master_Log_Pos:主库Pos

4

追到上一步主库位置start slave until MASTER_LOG_FILE='主库binlog', MASTER_LOG_POS=主库Pos;

5

记录自身binlog位置show master status\GFile: 1级从库binlogPosition: 1级从库Pos

6

执行change master to master_user='XXX',master_password='XXX',master_host='192.168.1.3',MASTER_LOG_FILE='1级从库binlog', MASTER_LOG_POS=1级从库Pos;

7

start slave;

8

查看状态show slave status\G

9

start slave;

10

查看状态show slave status\G

先停止摘掉的那台从库,再停止目标从库复制,是为了确保在一直有写入的情况下,不会造成数据遗漏,保证目标库数据比自身数据要新。都断开复制后,利用start slave until MASTER_LOG_FILE='xxx', MASTER_LOG_POS=xxx;来实现跟目标数据一致,并且此时两边都没有写入,再正常change master即可。

原文发布于微信公众号 - MYSQL轻松学(learnmysql)

原文发表时间:2018-01-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2675
来自专栏张善友的专栏

Mix 10 上的asp.net mvc 2的相关Session

Beyond File | New Company: From Cheesy Sample to Social Platform Scott Hansel...

2627
来自专栏魂祭心

原 canvas绘制clock

4244
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

7098
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3235
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

5676
来自专栏落花落雨不落叶

canvas画简单电路图

64911
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4838
来自专栏ASP.NETCore

ASP.NET Core 整合Autofac和Castle实现自动AOP拦截

除了ASP.NETCore自带的IOC容器外,我们还可以使用其他成熟的DI框架,如Autofac,StructureMap等(笔者只用过Unity,Ninjec...

684
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7

扫码关注云+社区