当前位置:Gxlcms > 数据库问题 > centos mysql 实战 第十一节课

centos mysql 实战 第十一节课

时间:2021-07-01 10:21:17 帮助过:4人阅读

centos mysql 实战 第十一节课 

 

 

 

第一个问题: 复制结构调整的Tips
A->B 怎么变成
B->A
master 192.168.1.10
RAM 16G
Slave : 192.168.1.11
RAM: 32 G
就是把原来的Master的内存加到32G
原来的master引入一个vip
app : 192.168.1.10 :3306 ....
Vip: 192.168.1.20
把Vip绑定到原来的master上,再把程序改成新的Vip连接,会影响业务吗?


master hostname: node1
那现在把我们的配置改成192.168.1.20
PHP程序 配置变更是不用重启的

 


对前端的App重启一台后,对业务会有影响吗?
TCP断线重连机制
无状态,前端其中最少可以死掉一个节点,前端是一个集群
增加数据库的VIP这个过程可以做到对业务没有影响的
node1: 1.10 , 1.20
 |
node2: 1.11

是不是考虑把node1, node2做成双主的结构
node1上执行的change master to 语句怎么编写?


双主原理:因为如果发现master传过来的binlog里的serverid和自己一样,就不执行


传统复制
node2: 执行show master status;
node1: 根据上句话编写出来change master to语句
两个都设置log_slave_update

 


GTID复制
node2: 执行show master status;
node1: 根据上句话编写出来change master to语句 auto-position
两个都设置log_slave_update

 

如果给的切换条件是可以终断业务30秒,数据要一致,可以怎么做呢?

 


1. 前置准备
吴炳锡(82565387) 20:56:33
1.1 master vip unbind
1.2检查 原来的master是否有连接及连接的处理 如果存在连接: 把那些连接全干掉
select concat("kill ", id,";") from infomation_schema.processlist where user=‘xxx‘ into outfile ‘/tmp/1.sql‘;
source /tmp/1.sql;
1.3确认同步数据完毕
要求: slave.master_log_file= master.log_file
slave.read_master_pos = master.log_pos
理由上是数据是一致的
1.4 ssh slave vip bind


上面步骤,如果脚本准备充分3秒就可以搞定了

现在业务是在node2支撑
怎么让node1从node2上同步呢
start slave ;就ok了,因为是双主,所以机器重启后直接start slave ;就ok,因为复制信息保存在masterinfo文件

 

===============================
完美主义者
认为master不能有show slave status输出
如果不想看到show slave status,那么清掉内存reset slave all;

 

 技术分享

 

 

R_IP: real ip

如果是GTID的模型,能不能用VIP复制?
可以用
业务没有任何问题的

传统复制
M1 Start slave;
M2->(M1, S1)

技术分享

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

centos mysql 实战 第十一节课

标签:

人气教程排行