首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >MYSQL架构调整的常用方式

MYSQL架构调整的常用方式

作者头像
MySQL轻松学
发布2018-03-09 15:49:27
发布2018-03-09 15:49:27
1.1K0
举报
文章被收录于专栏:MYSQL轻松学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即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-01-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 MYSQL轻松学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档