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双主热备+LVS+Keepalived高可用操作记录

MySQL复制能够保证数据的冗余的同时可以做读写分离来分担系统压力,如果是主主复制还可以很好的避免主节点的单点故障。然而MySQL主主复制存在一些问题无法满足我...

3416
来自专栏Laoqi's Linux运维专列

Xtrabackup定时备份mysql数据库脚本

1402
来自专栏乐沙弥的世界

CentOS 5.9下安装配置keepalived

    keepalived是由C语言编写的路由软件,是lvs的扩展项目,主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP...

631
来自专栏大数据

Zzreal的大数据笔记-SparkDay05

Spark Streaming SparkStreaming部分没做知识点的笔记,直接从代码上理解它的用法。后面整理Storm的时候会与SparkStreami...

2056
来自专栏Laoqi's Linux运维专列

MySQL两主(多主)多从架构配置

7158
来自专栏蓝天

批量远程执行shell命令工具

使用示例(使用了默认用户root,和默认端口号22): ./mooon_ssh --h=192.168.4.1,192.168.4.2 -P=password...

752
来自专栏java相关

SpringBoot使用log4j

1224
来自专栏Kubernetes

Kubelet Deivce Manager源码分析

本文基于Kubernetes v1.10的代码,对Kubelet Device Manager的实现进行了代码走读分析,方便对kubelet与device pl...

67212
来自专栏蓝天

查看Redis集群主从对应关系工具

源代码(可从https://github.com/eyjian/redis-tools下载):

681
来自专栏哎_小羊

初试 Centos7 上 Ceph 存储集群搭建

目录 Ceph 介绍 环境、软件准备 Ceph 预检 Ceph 存储集群搭建 1、Ceph 介绍 Ceph 是一个开源的分布式存储系统,包括对象存储、块设备...

7916

扫码关注云+社区