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

相关文章

来自专栏cloudskyme

虚拟化平台cloudstack(6)——使用maven:jetty调试

调试环境 ubuntu 12.04 JDK1.7 apache-maven-3.10 eclipse 4.2 Juno mysql 5 apache ant J...

3338
来自专栏debugeeker的专栏

centos 永久禁止PackageKit后台运行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xuzhina/article/detai...

611
来自专栏用户画像

第21章 DHCP

1.在TCP/IP协议族中,应用层的各种服务是建立在传输层提供服务的基础上,下列哪组协议需要使用传输层的TCP建立连接()。

822
来自专栏Aloys的开发之路

J2EE相关总结

Java Commons The Java™ Tutorials: http://docs.oracle.com/javase/tutorial/index.h...

19810
来自专栏乐沙弥的世界

Oracle cloud control 12c 如何修改sysman密码

    前阵子在虚拟机部署了Oracle Cloud Control 12c,事别几日,竟然忘记了登陆密码。主要是因为现在的Oracle有关的Software...

741
来自专栏潇涧技术专栏

Gradle Plugin for Android Development User Guide 1

Gradle Plugin for Android Development User Guide (1)

723
来自专栏程序猿DD

Why Spring Boot

本文介绍将各种Spring的配置方式,帮助您了解配置Spring应用的复杂性。 Spring是一个非常受欢迎的Java框架,它用于构建web和企业应用。不像许多...

4127
来自专栏技术翻译

在Spring Boot和Gradle项目中设置微服务架构的基础知识

微服务,也被称为微服务架构,是一种建筑风格,结构的应用程序的松散耦合的服务,实现业务功能的集合。微服务架构支持大型复杂应用程序的持续交付/部署,并允许组织发展其...

1800
来自专栏互联网技术栈

Spring Boot 2.0 Release Notes 中文版

由于1.5版本是Spring Boot的主要版本,所有升级现有的应用程序可能会比平常更复杂一点。我们制定了专门的迁移指南来帮助您升级现有的Spring Boot...

1312
来自专栏Spring相关

springBoot上传文件时MultipartFile报空问题解决方法

之前用spring MVC,转成spring boot之后发现上传不能用。网上参考说是spring boot已经有CommonsMultipartResolve...

1001

扫码关注云+社区