mysql主从-主主架构设计

前言: 
1. mysql主从、主主复制应用场景很多,其原理主推,从定时根据binlog增量拉取更新 
2. 如果主/从机器硬件负载过高,或者网络延迟就会造成同步延迟 
3. 延迟是必然,mysql复制同步解决的是数据高可用问题提供延后一致性 
4. 要解决完全一致性,需要解决的高并发问题- 可以从业务粒度考虑,增加nosql中间层或者mysql proxy或者mysql 5.7提供了完全一致性方案,但数据层来处理这些问题不可取!

1 my.cnf配置

  • server-id=11 #任意自然数n,只要保证两台MySQL主机不重复就可以了。
  • log-bin=mysql-bin #开启二进制日志 此时为第一台主MySQL
  • mysql binlog-ignore=information_schema #忽略information_schema库
  • replicate-do-db=aa #要同步的数据库,默认所有库

2 实质为互为主从 
master配置

GRANT REPLICATION SLAVE ON *.* TO 'slave252'@'192.168.0.252' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; show master status;

slave配置

slave stop;
CHANGE MASTER TO MASTER_HOST='192.168.0.250', MASTER_USER='slave252', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=107; slave start; show slave status;

master配置

GRANT REPLICATION SLAVE ON *.* TO 'slave250'@'192.168.0.250' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; show master status;

slave配置

slave stop;
CHANGE MASTER TO MASTER_HOST='192.168.0.252', MASTER_USER='slave250', MASTER_PASSWORD='123456', MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=350; slave start; show slave status;

3 检查从状态

Master_Host: 192.168.0.252
Master_User: slave250
Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000004 Read_Master_Log_Pos: 350 Relay_Log_File: mysqld-relay-bin.000002 Relay_Log_Pos: 253 Relay_Master_Log_File: mysql-bin.000004 Slave_IO_Running: Yes Slave_SQL_Running: Yes Master_Server_Id: 252

4 主从同步延迟校验

Seconds_Behind_Master

5 主从延迟解决方案?

延迟出现原因: 
1. mysql是被动复制机制,机制存在一定差延迟 
2. 延迟是sql thread与io thread之间差值,主机器负载过高造成更新推送延迟,从机器负载过高造成拉取延迟 
3. 网络延迟造成主推送或者从拉取数据缓慢而延迟

解决问题: 
1. mysql主从复制解决的是数据层高可用、数据层灾备 
2. 如果保证数据强一致性,可以使用mysql5.7-支持多线程复制,rpl_semi_sync_master_enabled-完全同步机制 
3. 高并发分流:采用多主,谁写谁读,业务层增加nosql 层-有更新读缓存

转载于:https://www.cnblogs.com/wolf-song/p/7708361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值