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 条评论
登录 后参与评论

相关文章

来自专栏杨建荣的学习笔记

MySQL主从不一致的修复过程(r10笔记第96天)

昨天发现一个5.7的MySQL从库在应用日志的时候报出了错误。从库启用过了并行复制。Last Error的内容为: Last_Error: Coordinato...

3459
来自专栏Hadoop实操

如何使用Java API访问CDH的Kudu

1446
来自专栏北京马哥教育

Linux环境下 LVM 逻辑卷的建立、扩容和减容操作

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个...

712
来自专栏决胜机器学习

Redis专题(六)——Redis高可用(复制篇)

Redis专题(六) ——Redis高可用(复制篇) (原创内容,转载请注明来源,谢谢) 一、单台服务器 单台redis服务器,会出现单点故障,且需要承受所...

3136
来自专栏杨建荣的学习笔记

MySQL偏移量的一点分析

在搭建MySQL主从的时候,change master是一个关键,如果没有使用GTID的方式,就需要使用偏移量和指定的binlog,每次需要手工去抓取这些信息,...

3317
来自专栏码神联盟

ActiveMQ入门篇一入门实例2

继上两期的ActiveMQ的概念原理和经典示例之后,本期将隆重推出ActiveMQ是如何与SpringMVC进行集成使用的。 老规矩,在开始之前,先来点与之相关...

3289
来自专栏码农二狗

不使用smtp直接发送邮件

1201
来自专栏吴老师移动开发

Flutter中ScrollView及其子类(ListView等)的下拉刷新

先丢一个github的demo代码地址 移动开发发展到现在,下拉刷新是个必不可少的功能了。

903
来自专栏散尽浮华

linux下DHCP服务原理总结

DHCP(全称Dynamic host configuration protocol):动态主机配置协议 DHCP工作在OSI的应用层,可以帮助计算机从指定的D...

1976
来自专栏杨建荣的学习笔记

MySQL迁移文件的小问题(r8笔记第18天)

线上有一台服务器上,里面有一个mysql数据库服务,其实库也很小,就几个G,一直以来是保留了多天的备份集,但是因为业务的关系,这个库其实只有一些 基本的数据查询...

3447

扫描关注云+社区